前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MPAndroidChart总结

MPAndroidChart总结

作者头像
对话、
发布2022-02-22 13:56:56
1K0
发布2022-02-22 13:56:56
举报
文章被收录于专栏:Android-Xj

第一天

LineChart的常用属性

代码语言:javascript
复制
lineChart.setDrawBorders(false);//设置绘制边界
 
lineChart.setDescription("最大值是: "+ max+",最小值是:"+min);// 数据描述
lineChart.setDescriptionTextSize(16f);//数据描述字体大小, 最小值6f, 最大值16f.
lineChart.setDescriptionPosition(2500f,50f);//数据描述字体的位置
 
lineChart.setGridBackgroundColor(Color.parseColor("#FA6868"));//设置网格区域的背景颜色
lineChart.setBackgroundColor(Color.parseColor("#FA6868"));//设置总体的背景色
 
lineChart.setNoDataTextDescription("测试没有数据");//如果没有数据 显示文字
 
lineChart.setDragEnabled(true);//设置是否可以拖拽
lineChart.setScaleEnabled(true);//设置是否可以缩放
 
lineChart.setData(lineData);//设置数据
 
//此句放在setData上面和下面的效果不相同 放在上面
lineChart.setVisibleXRangeMinimum(10f);//设置x轴最少10个数据
 
//lineChart.setVisibleXRangeMaximum(10f);//设置x轴最多10个数据
//lineChart.setVisibleXRange(0f,10f);//设置x轴值的范围
 
XAxis xAxis=lineChart.getXAxis();//获取到X轴
xAxis.setTextSize(30f);//设置X轴的字体大小
xAxis.setTextColor(Color.GREEN);//设置X轴字体颜色
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//设置x轴位置 
xAxis.setDrawGridLines(false);//是否绘制网格垂直于x轴的线
xAxis.setDrawAxisLine(true);//是否绘制X轴 
//格式化返回 X轴
xAxis.setValueFormatter(new XAxisValueFormatter() {
	@Override
	public String getXValue(String s, int i, ViewPortHandler viewPortHandler) {
		return s+i;
	}
});
 
xAxis.setDrawLabels(false);//设置是否显示标签
xAxis.setEnabled(true);//设置是否启用x轴
//个人感觉上面两个方法效果是一样的
 
YAxis yAxisLeft=lineChart.getAxisLeft();//获取左边Y轴
yAxisLeft.setTextColor(Color.CYAN);
yAxisLeft.setTextSize(30f);
yAxisLeft.setLabelCount(4,true);//设置Y轴有几个标签
yAxisLeft.setStartAtZero(true);//左边Y轴从0值开始
yAxisLeft.setDrawAxisLine(false);//是否绘制Y轴 
yAxisLeft.setDrawLabels(false);//设置是否显示标签
//格式化返回 y轴
yAxisLeft.setValueFormatter(new YAxisValueFormatter() {
    @Override
    public String getFormattedValue(float v, YAxis yAxis) {
        return "¥"+v+"元";
    }
});
 
//右边Y轴具体方法和上面一样 不在一一赘述
YAxis yAxisRight=lineChart.getAxisRight();//获取右边Y轴
yAxisRight.setEnabled(false);//设置右侧y轴不可用
yAxisRight.setTextColor(Color.CYAN);
yAxisRight.setTextSize(30f);
yAxisRight.setStartAtZero(true);//右边Y轴从0开始
 
//获取图例 必须在setData()之后 !!!!!!!
Legend l=lineChart.getLegend();//获取图例 必须在设置数据之后
l.setEnabled(true);//是否使用图例
l.setForm(Legend.LegendForm.SQUARE);//设置那个图例的图标 
//有LINE 线性 CIRCLE 圆的 SQUARE 正方形的。 默认是正方形
l.setFormSize(8f);//图例图标的大小
l.setTextSize(20f);//图例字体的大小
l.setTextColor(Color.BLACK);//图例字体的颜色
 
//限制线
LimitLine limitLine=new LimitLine(80f,"高限制线");//限制线
limitLine.setTextSize(10f);//字体大小
limitLine.setLineWidth(5f);//线宽
limitLine.setLineColor(Color.BLACK);//线颜色
yAxisLeft.addLimitLine(limitLine);//添加到什么轴
 
//设置当点击y轴节点值时 出现的效果
MyMarkerView mv=new MyMarkerView(MainActivity.this,R.layout.marker_view);
lineChart.setMarkerView(mv);

 LineChartSet属性

代码语言:javascript
复制
LineDataSet lineDataSet1=new LineDataSet(yVals1,"折线1");//arg0 Y轴数据 arg1 图例文字
lineDataSet1.setDrawValues(false);//是否显示Y轴节点的值
lineDataSet1.setValueTextColor(Color.BLACK);//Y轴值的颜色
lineDataSet1.setColor(Color.GREEN);//设置线的颜色
lineDataSet1.setValueTextSize(50f);//Y轴值的字体大小
lineDataSet1.setLineWidth(5f);//Y轴的数据线 宽
lineDataSet1.setCircleSize(10f);//Y轴节点圆形的大小
lineDataSet1.setCircleColor(Color.WHITE);//Y轴节点圆形的颜色
lineDataSet1.setHighlightEnabled(true);//设置高亮线是否启用
lineDataSet1.setHighLightColor(Color.YELLOW);//高亮线的颜色
lineDataSet1.setHighlightLineWidth(5f);//高亮线的宽度
lineDataSet1.setStackLabels(new String[]{"无违章","有违章"});//批量设置图例的文字
lineDataSet1.setValueFormatter(new ValueFormatter() {//格式化返回值 float 变 字符串
	@Override
    public String getFormattedValue(float v, Entry entry, int i, 
                                    ViewPortHandler viewPortHandler) {
        return (int)v+"";
    }
});

max = lineDataSet1.getYMax();//获取到最大值
min = lineDataSet1.getYMin();//获取到最小值

//arg0放x轴数据 arg1放LineDataSet数据 或者放 ArrayList<LineDataSet> 多折线图
LineData data=new LineData(xVals,lineDataSet1);

收货满满!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一天
  • 收货满满!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档