一、使用方法

  1. 在 build.gradle 添加下面的代码:

    1
    2
    3
    4
    5
    6
    7
    repositories {
    maven { url "https://jitpack.io" }
    }
    dependencies {
    compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
    }
  2. 下载jar文件
    https://github.com/PhilJay/MPAndroidChart/releases

二、数据设置

(此处以Barchart为例)

1. 设置X轴

由于X轴需要显示的坐标可以是多种多样的(数值、日期、分类等等),所以需要一个ArrayList的String用来描述X轴的标签。

1
2
3
4
ArrayList<String> xValues = new ArrayList<>();
for (int i = 0;i<10;i++){
xValues.add(String.valueOf(i));
}

2. 设置y轴

y轴的设置需要一个Entry类型的ArrayList封装图表的所有值。

设置y轴数据:
(示例中使用的是MPAndroidChart中写好的Barchart的BarEntry)

1
2
3
4
ArrayList<BarEntry> yValues = new ArrayList<>();
for (int i = 0;i<10;i++){
yValues.add(new BarEntry(i,i));
}

设置y轴数据的集合:

1
2
3
BarDataSet barDataSet = new BarDataSet(yValues,"index");
ArrayList<IBarDataSet> barDataSets = new ArrayList<>();
barDataSets.add(barDataSet);

3. 设置数据

用setData()设置图表,BarData提供一个图表所需的所有的数据。

1
2
BarData barData = new BarData(xValues, barDataSets);
barchart.setData(barData);

三、图表属性

1. 常用的几个属性:

setTouchEnabled(boolean enabled) : 启用/禁用与图表的所有可能的触摸交互。
setDragEnabled(boolean enabled) : 启用/禁用拖动(平移)图表。
setScaleXEnabled(boolean enabled) : 启用/禁用缩放在x轴上。
setScaleYEnabled(boolean enabled) : 启用/禁用缩放在y轴。

2. X、Y轴的设置(XAxis、YAxis)

XAxis和YAxis都是AxisBase的一个子类,是所有与X、Y轴相关的“数据和信息的容器”。

常用的几个属性:

X、Y轴通用:

setTextColor(int color) : 设置轴标签的颜色。
setTextSize(float size) : 设置轴标签的文字大小。
setGridColor(int color) : 设置该轴的网格线颜色。
setGridLineWidth(float width) : 设置该轴网格线的宽度。
setAxisLineColor(int color) : 设置轴线的轴的颜色。
setAxisLineWidth(float width) : 设置该轴轴行的宽度。 

X轴:

setSpaceBetweenLabels(int characters) : 设置标签字符间的空隙,默认characters间隔是4 。 
setLabelsToSkip(int count) : 设置在”绘制下一个标签”时,要忽略的标签数。
setPosition(XAxisPosition pos) : 设置XAxis出现的位置。(TOP,BOTTOM等)

Y轴:

setStartAtZero(boolean enabled) : 设置为 true,则无论图表显示的是哪种类型的数据,该轴最小值总是0 。
setLabelCount(int count, boolean force) : 设置y轴的标签数量。确切绘制指定数量的标签,但这样可能导致轴线分布不均匀。
setShowOnlyMinMax(boolean enabled) : 如果启用,该轴将只显示它的最小值和最大值。
setPosition(YAxisLabelPosition pos) : 设置,其中轴标签绘制的位置。(OUTSIDE_CHART 或 INSIDE_CHART)。

四、关于MPAndroidChart的更多

请访问 官方MPAndroidChart教程:概述 -庄宏基