一 布局文件的编写

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_marginTop="7dp"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#fff"android:paddingTop="12dp"android:orientation="vertical"><LinearLayout
        android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:paddingLeft="12dp"><View
            android:layout_width="2dp"android:layout_height="10dp"android:layout_marginTop="4dp"android:background="#4a6def"></View><TextView
            android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginLeft="8dp"android:text="当前交通综合指数"android:textColor="#222222"/></LinearLayout><View
        android:layout_width="match_parent"android:layout_marginTop="10dp"android:layout_marginBottom="10dp"android:layout_marginRight="10dp"android:layout_marginLeft="12dp"android:layout_height="0.4dp"android:background="#a1a1a1" /><com.github.mikephil.charting.charts.RadarChart
        android:id="@+id/readerChart"android:layout_width="match_parent"android:layout_height="210dp"></com.github.mikephil.charting.charts.RadarChart></LinearLayout>

二 .显示蜘蛛网Activity

package com.phone.mpandroid;import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;import com.github.mikephil.charting.charts.RadarChart;import java.util.ArrayList;
import java.util.List;public class MRadarChart extends AppCompatActivity {RadarChart radarChart;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_mradar_chart);initView();}private void initView() {radarChart=(RadarChart)findViewById(R.id.readerChart);RadarChartManager radarChartManager = new RadarChartManager(this, radarChart);List<String> xData = new ArrayList<>();List<List<Float>> yDatas = new ArrayList<>();List<String> names = new ArrayList<>();names.add("东城区");names.add("朝阳区");names.add("西城");names.add("丰台区");names.add("石景山");names.add("房山区");xData.add("总体");xData.add("交通设施");xData.add("评价");xData.add("平均");xData.add("交通治理");xData.add("交通需求");xData.add("交通拥堵指数");List<Integer> colors = new ArrayList<>();for (int i = 0; i < 6; i++) {List<Float> nData = new ArrayList<>();for (int j = 0; j < 7; j++) {nData.add((float) (Math.random() * 20));}yDatas.add(nData);}colors.add(Color.parseColor("#fbd06a"));colors.add(Color.parseColor("#f69a40"));colors.add(Color.parseColor("#ff5d52"));colors.add(Color.parseColor("#e71f19"));colors.add(Color.parseColor("#ff9b43"));colors.add(Color.parseColor("#8eb9fb"));radarChartManager.showRadarChart(xData, yDatas, names, colors);}
}

三 .显示蜘蛛网图的管理类

package com.phone.mpandroid;import android.content.Context;
import android.graphics.Color;import com.github.mikephil.charting.charts.RadarChart;
import com.github.mikephil.charting.components.AxisBase;
import com.github.mikephil.charting.components.Description;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.RadarData;
import com.github.mikephil.charting.data.RadarDataSet;
import com.github.mikephil.charting.data.RadarEntry;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
import com.github.mikephil.charting.interfaces.datasets.IRadarDataSet;import java.util.ArrayList;
import java.util.List;/*** Created by zhang on 2018/7/9.* �蜘蛛网*/public class RadarChartManager {private RadarChart mRadarChart;private Context mContext;private YAxis yAxis;private XAxis xAxis;public RadarChartManager(Context context, RadarChart radarChart) {this.mContext = context;this.mRadarChart = radarChart;yAxis = mRadarChart.getYAxis();xAxis = mRadarChart.getXAxis();}private void initRadarChart() {// 绘制线条宽度,圆形向外辐射的线条mRadarChart.setWebLineWidth(1f);
//        线条的颜色mRadarChart.setWebColor(Color.parseColor("#d5d5d5"));mRadarChart.setWebColorInner(Color.parseColor("#d5d5d5"));// 内部线条宽度,外面的环状线条mRadarChart.setWebLineWidthInner(0.4f);// 所有线条WebLine透明度mRadarChart.setWebAlpha(100);//取消图标右下角的描述mRadarChart.getDescription().setEnabled(false);
//        图显示的位置mRadarChart.setExtraOffsets(0, 2, 110, 0);//点击点弹出的标签
//        RadarMarkerView mv = new RadarMarkerView(mContext, R.layout.radar_marker_view);
//        mRadarChart.setMarkerView(mv);XAxis xAxis = mRadarChart.getXAxis();// X坐标值字体大小xAxis.setTextSize(8f);xAxis.setGridColor(Color.parseColor("#a1a1a1"));xAxis.setTextColor(Color.parseColor("#a1a1a1"));xAxis.setAxisLineColor(Color.parseColor("#a1a1a1"));// Y坐标值字体样式// Y坐标值标签个数yAxis.setLabelCount(6, false);// Y坐标值字体大小yAxis.setTextSize(15f);yAxis.setTextColor(Color.parseColor("#a1a1a1"));yAxis.setAxisLineColor(Color.parseColor("#a1a1a1"));// Y坐标值是否从0开始yAxis.setStartAtZero(true);yAxis.setEnabled(false);yAxis.setDrawLabels(false);yAxis.setDrawTopYLabelEntry(false);yAxis.setGridColor(Color.parseColor("#a1a1a1"));xAxis.setDrawLimitLinesBehindData(false);//设置X上的显示labalxAxis.setDrawLabels(true);Legend l = mRadarChart.getLegend();// 图例位置
//        l.setPosition(Legend.LegendPosition.RIGHT_OF_CHART);l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT);l.setOrientation(Legend.LegendOrientation.VERTICAL);// 图例X间距l.setXEntrySpace(1f);// 图例Y间距l.setYEntrySpace(1f);
//        图例文字的大小l.setTextSize(12f);
//        图例文字颜色l.setTextColor(Color.parseColor("#a1a1a1"));
//        图例相对于Y的偏移l.setYOffset(1f);
//        图例相对于X的偏移l.setXOffset(20f);}public void showRadarChart(final List<String> xData, List<List<Float>> yDatas, List<String> names, List<Integer> colors) {initRadarChart();xAxis.setValueFormatter(new IAxisValueFormatter() {@Overridepublic String getFormattedValue(float value, AxisBase axis) {return xData.get((int) value % xData.size());}});//Y轴字体颜色yAxis.setTextColor(Color.parseColor("#a1a1a1"));
//        是否绘制yAxis.setDrawLabels(false);List<IRadarDataSet> sets = new ArrayList<>();for (int i = 0; i < yDatas.size(); i++) {ArrayList<RadarEntry> yValues = new ArrayList<>();for (int j = 0; j < yDatas.get(i).size(); j++) {yValues.add(new RadarEntry(yDatas.get(i).get(j), j));}RadarDataSet radarDataSet = new RadarDataSet(yValues, names.get(i));radarDataSet.setColor(colors.get(i));//设置是否填充区域radarDataSet.setDrawFilled(true);//填充区域的颜色radarDataSet.setFillColor(colors.get(i));//填充区域同颜色的alpha值radarDataSet.setFillAlpha(255);// 数据线条宽度radarDataSet.setLineWidth(1f);sets.add(radarDataSet);}RadarData data = new RadarData(sets);// 数据字体大小data.setValueTextSize(8f);// 是否绘制Y值到图表data.setDrawValues(false);mRadarChart.setData(data);mRadarChart.invalidate();}/*** 设置描述信息** @param str*/public void setDescription(String str) {Description description = new Description();description.setText(str);mRadarChart.setDescription(description);mRadarChart.invalidate();}public void setYscale(float max, float min, int labelCount) {yAxis.setLabelCount(labelCount, false);yAxis.setAxisMinimum(min);yAxis.setAxisMaximum(max);mRadarChart.invalidate();}
}

MPAndroidChartlele蜘蛛网图详细使用(四)相关推荐

  1. PowerDesigner画ER图详细教程

    一.概念数据模型概述 数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求: 1)能够比较真实地模拟现实世界 2)容易为人所理解 3)便于计算机实现 概念数据模型也称信息模型,它以实体- ...

  2. Android自定义View实现三角到八角的属性分布图-雷达图(蜘蛛网图)

    Android自定义View实现三角到八角的属性分布图-雷达图(蜘蛛网图) 前言 自定义View的关键点 绘制多边形 结尾 前言 刚开始学习自定义view,简单完成了一个属性分布器,可以实现三条到八条 ...

  3. 自定义蜘蛛网图 NetView

    概述 写论文忙里偷闲写了一个蜘蛛网图的自定义view,支持多重属性 有图才能有真相,下面先上图 主要支持网格颜色.tag文本.覆盖区域颜色.透明度的属性改变,具体使用可以参见我的githubgithu ...

  4. Datawhale组队学习-图神经网络(四)

    Datawhale组队学习-图神经网络(四) 数据完全存于内存的数据集类 + 节点预测与边预测任务实践 对于占用内存有限的数据集,我们可以将整个数据集的数据都存储到内存里.PyG为我们提供了方便的方式 ...

  5. 关于主机的思维导图_计算机网络思维导图(零基础--思维导图详细版本及知识点)...

    计算机网络思维导图(零基础--思维导图详细版本及知识点)_gl620321的博客-CSDN博客​blog.csdn.net第一章 计算机网络概述 1.计算机网络向用户提供的最重要的功能分别是(连通性) ...

  6. 计算机操作系统思维导图_计算机网络思维导图(零基础--思维导图详细版本及知识点)...

    计算机网络思维导图(零基础--思维导图详细版本及知识点)_gl620321的博客-CSDN博客​blog.csdn.net 第一章 计算机网络概述 1.计算机网络向用户提供的最重要的功能分别是(连通性 ...

  7. 函数调用关系图如何画_彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细...

    画画不难,难的是不拿起手中的笔去画. 彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细 多肉的质感如何表达呢?还是那句话:艺术来源于生活,要仔细观察.拿我们今天画的多肉来说,首先 ...

  8. 项目管理excel_项目管理甘特图是什么?怎么做才能更高效?(EXCEL制作甘特图详细步骤)...

    项目管理甘特图是什么?甘特图即Gantt chart,又被称之为横道图.条状图.其命名是由提出者亨利·L·甘特(Henrry L.Ganntt)先生的名字而来的.甘特图是以图示的方式,并通过活动列表和 ...

  9. ❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置

    ❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置 1.认识 使用可以参考之前文章,会使用直接跳过1 引入官网的南丁格尔玫瑰图效果如下: 使用函数配置分为三个部分:初始化=> 设置 ...

最新文章

  1. junit源码解析--初始化阶段
  2. 快速理解shopex模板机制经验教程(一)
  3. Spring Boot实战:数据库操作
  4. 02_Influxdb开启登录认证
  5. 关于键盘事件中keyCode、which和charCode 的兼容性测试
  6. MongoDB 教程二: 添加, 删除,查询 shell命令
  7. bar()函数——python绘制柱状图
  8. SDUT——打印数字图形
  9. 2021-08-04 Mysql自连接
  10. Qt5开发从入门到精通——第一篇概述
  11. live2d模型二次开发
  12. 基于Python实现RRT与双向RRT算法
  13. QOpenGLWight与QPainter混合渲染
  14. 用计算机求算术平方根的按键顺序,6.1 .2 用计算器求算术平方根及算术平方根的应用...
  15. JMeter 安装教程
  16. 倍福--CAB文件的配置
  17. NumPy 快速入门系列:应用统计学基础概念、相关统计指标与NumPy的实现
  18. 如何提高网站在百度搜索的排名
  19. 天天生鲜项目实战(一)
  20. 主板噪音测试软件,E1通过刷主板BIOS方法,给风扇降低噪音

热门文章

  1. 利用c#+jquery+ichartjs生成统计图表
  2. Camera相机API
  3. 2017--就业分享之IT校招现状和面试经历
  4. IOT跨平台组件设计方案
  5. 小程序毕业设计 基于微信电影院购票小程序毕业设计开题报告功能参考
  6. 输入一个年份,输出是否为闰年。闰年的条件,又能被4整除但不能被100整除,或者能被400整除的年份都是闰年
  7. ipv6 华为交换机 路由配置_利用华为ENSP模拟器实现IPv6与IPv6默认路由与静态路由的配置...
  8. Taskade for Mac(mac任务清单管理器)
  9. D-OJ刷题日记:直接插入排序验证性实验 题目编号:584
  10. iPhone手机所有机型尺寸总汇