android战力图、雷达图、七星图、蜘蛛网图自定义控件

在 Cocos Creator 里画个炫酷的雷达图 前言 ????️雷达图(Radar Chart) 也称为网络图、星图或蜘蛛网图。 是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多元数据的图形方法。 适用于显示三个或更多的维度的变量。 ????️雷达图常用于????数据统计或对比,对于查看哪些变量具有相似的值、变量之间是否有异常值都很有用。 ????同时在不少游戏中都有雷达图的身影,可以很直观地展示并对比一些数据。 例如王者荣耀中的对战资料中就用到了: ????那么在本篇文章中,皮皮就来分享下在 Cocos Creator 中如何 阅读详情

最近闲来无事,就仿着王者荣耀和英雄联盟助手的战力七星图自定义了一个战力雷达图,又叫蜘蛛网图。雷达图的绘制比较简单,主要用到路径类Path的Path.lineTo()及Path.moveTo() 相关知识。

public void lineTo (float x, float y)

从命名上可以看出是从某个点到参数坐标点画一条线,具体某个点在哪,是指上次操作的结束点,如果没有进行操作默认为坐标原点。

public void moveTo (float x, float y)

移动下一次操作点的起始点

最终绘制效果图:

绘制雷达网格

   private void drawRadarBg(Canvas canvas) {
        //雷达网格间距
        float mSpc = mRadius / (mNum - 1);
        for (int i = 1; i < mNum; i++) {
            //计算当前半径
            float curRadius = mSpc * i;
            for (int j = 0; j < mCount; j++) {
                //根据半径,计算出每个点的坐标
                float x = (float) (curRadius * Math.sin(mAngle / 2 + mAngle * j));
                float y = (float) (curRadius * Math.cos(mAngle / 2 + mAngle * j));
                if (j == 0) {
                    mRadarPath.moveTo(x, y);
                } else {
                    mRadarPath.lineTo(x, y);
                }
                //绘制最后一环时绘制连线
                drawLine(canvas, i, x, y);
            }
            mRadarPath.close();
            canvas.drawPath(mRadarPath, mRadarPaint);
        }
    }

绘制文本

    private void drawText(Canvas canvas) {
        Paint.FontMetrics fontMetrics = mTextPaint.getFontMetrics();
        float fontHeight = fontMetrics.descent - fontMetrics.ascent;
        for (int i = 0; i < mCount; i++) {
            float x = (float) ((mRadius + fontHeight / 2) * Math.sin(mAngle / 2 + mAngle * i));
            float y = (float) ((mRadius + fontHeight / 2) * Math.cos(mAngle / 2 + mAngle * i));
            String text = mData.get(i).getTitle();
            float fontWidth = mTextPaint.measureText(text);
            canvas.drawText(text, x - fontWidth / 2, y, mTextPaint);
        }
    }

绘制覆盖图层

    private void drawLayer(Canvas canvas) {
        for (int i = 0; i < mCount; i++) {
            double percent = mData.get(i).getPercent() / mMaxValue;
            float x = (float) (mRadius * Math.sin(mAngle / 2 + mAngle * i) * percent);
            float y = (float) (mRadius * Math.cos(mAngle / 2 + mAngle * i) * percent);
            if (i == 0) {
                mLayerPath.moveTo(x, y);
            } else {
                mLayerPath.lineTo(x, y);
            }
            //画小圆点
            canvas.drawCircle(x, y, circleWidth, mCirclePaint);
        }
        mLayerPath.close();
        canvas.drawPath(mLayerPath, mLayerPaint);
    }

最后欢迎star和fork交流,有问题请提issues,

源代码

https://github.com/utouch/RadarView

Android画正N边形战力图 看下效果图画的正六边形: 画正N边形最重要的就是求出N边形的每个顶点坐标,然后将这些顶点坐标连接起来就可以了。 我们可以将问题转化为求圆周上的每个点的坐标,首先要学习下Math.sin(弧度)、Math.cos(弧度),注意这里的参数是弧度而非角的度数 弧度的计算公式为:角度*(PI/180) 30° 角度 的弧度 =30 * (PI/180) 如何得到圆上每个点的坐标? 解决... 阅读详情

相关推荐

雷达图控件

WPF制作的雷达图控件,提供简易的接口方便自定义各顶点名称和值、雷达托盘边框颜色及填充色、雷达区域颜色。

Android 自定义雷达图(蜘蛛网图)

这次自定义实现雷达图,它可以用在分析某些内容所占的比例,比较直观地突出某些数据,比如可以用在游戏玩家的各项能力的分析上,那么它的各项指标就比较明显地看出来了。效果图如下: 看完这幅图大家就清楚要实现的内容吧。下面来实现它。一、思路1、先画背景的正六边形。(1)可以看到每一部分三角形都是相同的,那么我们可以先画其中一部分的三角形,剩下的就重复操作就行了。 就是上面红色的三角形部分(画的有的

LHavoc的博客 5323

android自定义view多边形战斗力分析图任意多边形

android自定义view多边形战斗力分析图,支持任意多边形,可扩展

CocosCreator 创建贝塞尔雷达图

CocosCreator 创建贝塞尔雷达图前言制作效果代码 前言 需求要求实时显示脑波变化数据,并且以一种高科技效果展示,甲方觉得普通折线雷达图不够好看,于是改为贝塞尔雷达图。 制作效果 代码 直接与Graphics组件挂载在一个空物体上即可。 代码最下面的注释是用来显示贝塞尔曲线手柄的。 const {ccclass, property} = cc._decorator; @ccclass export default class RadarChart extends cc.Component {

SlowFeather's blog 641

Android之玩转MPAndroidChart(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

Android之玩转MPAndroidChart(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动(eclipse版),Androidstudio版也已上传。

Android RadarView雷达图(蜘蛛网图)的实现代码

主要介绍了Android RadarView雷达图(蜘蛛网图)的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

【ZRender 渲染引擎 - 壹】 | 基础图形元素绘制

theme: cyanosis 持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 7 天,点击查看活动详情 开篇前言 在掘金认识我的都知道,我主要是研究 Flutter 的。其实我一直希望开发出一套好用的 Flutter 的图表库,但是期间遇到了一些瓶颈。当我偶然知道 echarts 底层是由 ZRender 引擎渲染时,内心是非常激动的。无论是简单的统计图,...

张风捷特烈的博客 1059

国际项目投标那些事(三)海外项目招标文件的组成

以一个实际的项目作为例子,是我2020年初投的一个东南亚国家的水厂的竞争性投标。这个投标的招标基于FIDIC yellow book (Design and Build) 合同模板。 海外项目的招标一般是有专门的咨询公司(consulting engineer)写招标文件,有的咨询公司非常专业,对于技术、合同、业绩的要求非常细致。 我这个项目的招标文件共5册 400多页(全英文),附件26册将...

WTSolutions的博客 2004

Power BI :利用雷达图(蛛网图)显示某一个体指标变动情况

在Power BI中如何是用雷达图

Fluffy的百宝箱 1万+

JAVA进阶面试题:如何设计一个高并发系统?

如何设计一个高并发系统? 面试官心理分析 说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥,有高并发就经验者优先。 如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊取物,没啥问题。面试官也绝对不会这样来问你,否则他就是蠢。 假设你在某知名电商公司干过高并发系统,用户上亿,一天流量几十亿,高峰期并发量上万,甚至是十万。那么人家一定会仔细盘问你的系统架构,你们系统啥架构?怎么部署的?部署了多少台机器

uuop155的博客 1020

Python经常遇到导入xlwings就出错,如何解决

Python经常在导入xlwings时遇到错误。有人建议尝试重装或升级xlwings,但这些操作后仍然无法解决导入错误问题。

felix_8的博客 1740

星辰小队针对于软件“星遇”的10天冲刺——第4天

日期:2019.5.8 博客期:072 星期三   今天参考了很多关于雷达的博客,其实并没有找到能够真正解决实际问题、符合我们要制作的软件的内容。所以,我在博客里整理一下我看到的东西好了:   1、标题:MPAndroidChart_RadarChart雷达图的那些事     网址URL:https://blog.youkuaiyun.com/petterp/article/details/901...

weixin_30337251的博客 136

Eclipse在Mac上报错JNI_CreateJavaVM?可能是你的JDK架构搞错了(附Adoptium JDK下载指南)

本文深入解析了Mac(尤其是Apple Silicon芯片)上Eclipse启动时出现“JNI_CreateJavaVM”错误的根本原因,即JDK架构(aarch64与x86_64)不匹配。文章提供了详细的诊断步骤,并推荐通过下载并配置Eclipse Adoptium提供的aarch64版本JDK来彻底解决问题,同时附上清晰的配置指南。

weixin_29065659的博客 321

Android自定义圆形能力图(天赋,能力分布图)

文章参考:http://blog.youkuaiyun.com/qq_26411333/article/details/52330925      有需求就有目标,感谢开源的互联网感谢上文供我参考。修修改改满足项目需求,分享给大家。      老套路,先上图:      具体实现思路就不多累赘了。参考文章:http://blog.youkuaiyun.com/qq_26411333/article/detail

u010257120的博客 2791

图腾柱无桥PFC控制逻辑解析:从双闭环到电压前馈的设计演进

本文深入解析图腾柱无桥PFC控制逻辑的设计演进,从经典双闭环控制到电压前馈技术的实现。通过分析功率波动问题和动态响应慢的症结,提出引入电压前馈的解决方案,并详细探讨数字实现中的关键注意事项。文章还涵盖控制框图的构建、稳定性分析方法及实际应用中的调参技巧,为开关电源设计提供实用指导。

weixin_29268267的博客 572

17track单号查询逆向分析

这就说明该网站很有可能存在其它检测点,而检测本地替换最大可能的就是检测了代码格式化或者代码长度。也一样,要么导致网站卡死,要么会导致网页加载异常,这里可能就难到不少人了,让我们一步一步解决。而这个站主要是检测了代码格式化,无限循环检测造成了网站卡死,经多次测试发现检测点共三处。方法中代码很长,但是经调试后发现,它其实只返回一个固定的值,这里直接写死即可。同样的,虽然看起来很长,但是跟过之后就会发现流程很简单,这里主要就是对。追加了一些值,是一条很长的语句,整理代码。,核心流程也很简单,稍微跟一下就出来了,

pyzzd的博客 1623

【数据分析实战】(一)—— JOJO战力图

雷达图的正确应用(确信)

麦田里的稻草人的博客 2036

数据分析案例-对某宝用户评论做情感分析

目录 原始数据 绘制词云图 情感分析 原始数据 原始数据为某宝一商品的用户评论数据 绘制词云图 # coding=utf-8 import jieba import re import wordcloud import imageio # 打开需要分析词频的文本 with open('淘宝评论3.0.txt', encoding='utf-8') as f: data = f.read() # 文本预处理 :去除一些无用的字符只提取出中文出来 new_data

m0_64336780的博客 1万+

VS2012 自带图表控件 chart控件用法小结

1.去掉图表中网格线或者设置网格线: 设置属性:chart1---->chartAreas---->Axis---->MajorGrid---->Enabled 2.设置X轴与Y轴的最大刻度或最小刻度: 设置属性:chart1---->chartAreas---->Axis---->Maximum 3.设置...

weixin_30670925的博客 1252

从 ABAP 后端到 AEX,Local Integration Engine 下的 Business System 配置全景

本文围绕SAP PI AEX配置中ABAP后端系统与AEX的连接问题,梳理了关键概念和技术脉络。重点指出基于ABAP 6.20及更高版本的业务系统内置了本地集成引擎(Local Integration Engine),负责与AEX的消息交互。配置要点包括:1)在SM59中创建HTTP类型RFC目标连接AEX;2)配置SAP_PROXY_ESR供设计时代理生成;3)通过SXMB_ADM设置业务系统角色为应用系统;4)确保SLD注册和SICF服务激活。文章特别强调运行时代理消息传递与设计时代理生成的区分,以及H

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 97

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

可以直接拖拽编辑的雷达图、蛛网图网页控件

这是我 2019 年开发的一个网页小控件,可以通过鼠标点选拖拽多边形的顶点对蛛网图或者雷达图进行编辑操作,并可以将编辑结果实时发回给服务端,直观方便。 开源地址https://github.com/HorsonLiu/EditableRadarChart ...

WEB-NOTE 810

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android 自定义view: 蛛网/雷达图(三)

本系列自定义View全部采用ktmac4.1.31.5.0本篇效果:蛛网图其实就是由多个多边形来组成蛛网的,那么先来画1个多边形来练练手。

高级开发者进阶ing... QaQ 1464

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android多边形战斗力图表仿掌盟详解

先讲一下我的目的,动手之前得想好我想要一个什么东西,先看下掌盟的是个什么样 这是由多个多边形组成的,很明显边长数我们不能固定死,因为每次的需求都是不同的 知道我们想要一个什么东西之后,在想想实现步骤,把复杂的功能化成简单的功能,就觉得不会麻烦了。一步一步来,首先画最外面的多边形——画里面的多边形——画顶点到中心点的线(外切圆半径)——在外切圆半径上取值,得到点坐标——将各个点连接起来就完成...

qq_24543821的博客 1229

游戏中雷达图实现

什么是雷达图? https://en.wikipedia.org/wiki/Radar_chart 自己写的用egret写的雷达图 https://github.com/BlackStar0313/gameToolkits/tree/master/src/toolkits/controller/radar

只爱艾薇儿 1836

Android实现雷达图(附带源码)

Android实现雷达图(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1841

安卓开发雷达图

String[] mActivities = new String[]{"商业模式", "核心壁垒", "团队结构", "运营管理", "盈利能力","成长能力"};

m0_72495985的博客 733
上一篇: Android Studio 那些事|( /** */ )不显示问题
Admin_
博客等级 码龄16年 28粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值