mpandroidchart 常用属性:

LineChart的常用属性:

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属性:

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);

相关推荐
郑州光合科技余经理22 分钟前
本地生活平台搭建:跨业态用户标识怎么贯通
java·开发语言·前端·后端·uni-app·php·ai编程
木头科技29 分钟前
【AI 工程化第八篇】Spring AI 多模型路由实战:DeepSeek、通义、Kimi、OpenAI 如何统一接入和自动切换
java·人工智能·spring
深盾科技_Virbox31 分钟前
云端与本地并行交付,软件许可管理如何实现统一运营?
java·大数据·开发语言·安全
thefool11226632 分钟前
多线程 3
java
CoderYanger38 分钟前
A.每日一题:856. 括号的分数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
liangbo71 小时前
01-Java 集合框架全景:从 Collection 到 Map 一张关系网理清
java
xuxigifxfh1 小时前
HJ15 求int型正整数在内存中存储时1的个数
java·开发语言·华为机考
Wokoo71 小时前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具
我是人✓1 小时前
Spring IOC注解全解析和Spring整合测试单元
java·后端·spring
智购科技无人售货机工厂店2 小时前
玻璃瓶饮料破损率突然上升,排查发现是取货口缓冲垫老化了~YH
java·开发语言·人工智能·python·eclipse