MPAndroidChart的实用文档翻译理解使用(一)

官方 :https://github.com/PhilJay/MPAndroidChart

文档:https://github.com/PhilJay/MPAndroidChart/wiki


精简的文档

1.配置以及快速开始

allprojects {
	repositories {
		maven { url "https://jitpack.io" }
	}
}


dependencies {
	implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
}


xml

  <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

java

 LineChart chart = (LineChart) findViewById(R.id.chart);

获得曲线数据

YourData[] dataObjects = ...;

List<Entry> entries = new ArrayList<Entry>();

for (YourData data : dataObjects) {

    // turn your data into Entry objects
    entries.add(new Entry(data.getValueX(), data.getValueY())); 
}

放入dataset

LineDataSet dataSet = new LineDataSet(entries, "Label"); // add entries to dataset
dataSet.setColor(...);
dataSet.setValueTextColor(...); // styling, ...

放入lineData后,放入图像

LineData lineData = new LineData(dataSet);
chart.setData(lineData);
chart.invalidate(); // refresh



2.触摸手势相关

  • setTouchEnabled(boolean enabled): 是否允许触摸交互
  • setDragEnabled(boolean enabled): 是否允许拖动
  • setScaleEnabled(boolean enabled): 是否允许缩放
  • setScaleXEnabled(boolean enabled): 是否允许x轴缩放
  • setScaleYEnabled(boolean enabled): 是否允许y轴缩放
  • setPinchZoom(boolean enabled): 是否允许放大(true:允许  false:可以x,y单独放大)
  • setDoubleTapToZoomEnabled(boolean enabled): 是否双击放大

3.高亮设置(略过)

4.  关于轴(x,y共有方法)

        组成:

  • The labels :标签(线的名字)
  • A so called "axis-line" (轴)
  • The "grid-lines", (网格线)
  • LimitLines, (特殊的线:可以用于最高值最小值的线)

       绘制:

  • setEnabled(boolean enabled): 是否绘制此轴(false:任何一个组成都不会绘制)
  • setDrawLabels(boolean enabled): 是否绘制标签
  • setDrawAxisLine(boolean enabled): 是否绘制轴
  • setDrawGridLines(boolean enabled): 是否绘制网格线

        自定义轴的最大最小,标签上下相关

  • setAxisMaximum(float max): 设置最大值,(data超出,不予计算)
  • resetAxisMaximum(): 撤销设置的最大值(可以重新调用setAxisMaximum
  • setAxisMinimum(float min):设置最小值,(data超出,不予计算)
  • resetAxisMinimum(): 撤销设置的最小值(可以重新调用setAxisMinimum
  • setStartAtZero(boolean enabled): 弃用
  • setInverted(boolean enabled): 倒置轴,(轴方向上值从大到小)
  • setSpaceTop(float percent): 曲线最高点距离轴最高点的距离 ,(以轴长的百分比计算)
  • setSpaceBottom(float percent)曲线最低点距离轴最低点的距离 ,(以轴长的百分比计算)
  • setShowOnlyMinMax(boolean enabled): 是否只显示最大最小坐标
  • setLabelCount(int count, boolean force): 设置坐标标签的个数(第二个参数false:不严格按照count计数。true:严格计数,可能分布不均)
  • setPosition(YAxisLabelPosition pos): 坐标标签绘制位置.(INSIDE_CHART / OUTSIDE_CHART).
  • setGranularity(float gran):设置y轴的最小间隔 防止放大时出现重复
  • setGranularityEnabled(boolean enabled): 是否弃用颗粒设置(setGranularity

        美化轴

  • setTextColor(int color): 坐标标签 字体颜色
  • setTextSize(float size): 坐标标签 字体大小
  • setTypeface(Typeface tf): 坐标标签 字体大小
  • setGridColor(int color): 网格线颜色
  • setGridLineWidth(float width): 网格线宽度
  • setAxisLineColor(int color): 轴线颜色
  • setAxisLineWidth(float width): 轴线宽度
  • enableGridDashedLine(float lineLength, float spaceLength, float phase): 网格线为虚线  长度,间隔,起点

        Limit Lines

  • addLimitLine(LimitLine l): 添加
  • removeLimitLine(LimitLine l): 删除
  • 可以添加删除不止一条
  • setDrawLimitLinesBehindData(boolean enabled):默认false (false:先绘制limitline再绘制曲线

代码示例 :添加一条 140的线

YAxis leftAxis = chart.getAxisLeft();

LimitLine ll = new LimitLine(140f, "Critical Blood Pressure");
ll.setLineColor(Color.RED);
ll.setLineWidth(4f);
ll.setTextColor(Color.BLACK);
ll.setTextSize(12f);
// .. and more styling options

leftAxis.addLimitLine(ll);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值