您的位置:首页 > 移动开发 > Android开发

<Android开源库> MPAndroidChart Wiki(译文)~Part 5

2017-06-22 13:46 399 查看

19. ChartData子类

这篇wiki主要关注ChartData子类的具体介绍。至于此部分没有提及到的ChartData的子类,代表他们没有特性功能需要介绍。

BarData

方法使用
setGroupSpace(float percent)按照一个栏的总宽度的百分比设置不同数据集的条形组之间的空间.100%代表一个条形的宽度。默认为80%
isGrouped()如果此数据对象分组(由多个DataSet组成),则返回true,否则返回false

ScatterData

方法使用
getGreatestShapeSize()返回此数据对象包含的所有ScatterDataSets的最大形状大小。

PieData

方法使用
getDataSet()返回包含的PieDataSet对象。PieData不能包含多个PieDataSet对象
setDataSet(PieDataSet set)设置PieDataSet

BubbleData

方法使用
setHighlightCircleWidth(float width)设置当数据对象包含的所有BubbleDataSet对象处于突出显示状态时的环绕该气泡的圆的宽度。单位dp

CombinedData

该数据对象被设计为包含所有其他数据对象的实例。使用setData(…)方法提供此对象的数据。这仅用于CombinedChart。

public class CombinedData extends ChartData {

// ...

public CombinedData(List<String> xVals) { ... }

public CombinedData(String[] xVals) { ... }

public void setData(LineData data) { ... }

public void setData(BarData data) { ... }

public void setData(ScatterData data) { ... }

public void setData(CandleData data) { ... }

// ...
}


20. DataSet类(通用样式)

DataSet是如LineDataSet,BarDataSet等所有数据集类的基类。

public class LineDataSet extends DataSet { ...


DataSet代表一组或者一类在图表中归结在一起的数据条目集合。设计它的目的是为了将图表中的不同组数据进行逻辑分离。(比如线形图中的特定一条线,柱形图中的特定一组柱形)

以下提到的方法在DataSet类中实现,因此可用于所有子类。

20.1 数据样式

方法使用
setValueTextColor(int color)设置 DataSet 数据对象包含的数据的值文本的颜色
setValueTextColors(List colors)设置一个颜色列表用于显示值
setValueTextSize(float size)设置 DataSet 数据对象包含的数据的值文本的大小(单位是dp)
setValueTypeface(Typeface tf)设置 DataSet 数据对象包含的数据的值文本的字体
setValueFormatter(ValueFormatter f)为DataSet 数据对象包含的数据设置自定义的 ValueFormatter。更多关于ValueFormatter,请查阅此处
setDrawValues(boolean enabled)启用/禁用 绘制所有 DataSet 数据对象包含的数据的值文本
以上方法同样适用于ChartData对象,只是操作结果针对的是其包含的所有的DataSet。

20.2 高亮

方法使用
setHighlightEnabled(boolean enabled)设置为true,允许通过点击高亮突出 ChartData 对象和其 DataSets
setDrawVerticalHighlightIndicator(boolean enabled)启用/禁用纵向选中高亮指示线。如果禁用,指示线将不会被绘制
setDrawHorizontalHighlightIndicator(boolean enabled)启用/禁用横向选中高亮指示线。如果禁用,指示线将不会被绘制

20.3 Getter/Convenience

方法使用
contains(Entry entry)检查此数据对象是否包含指定的Entry 。 注:这个相当影响性能,性能严峻情况下,不要过度使用。

21. DataSet子类(特定样式)

本章wiki专注于DataSet类的子类。此处未提及的DataSet的所有其他子类代表它们没有特定的增强功能。

21.1 Line-, Bar-, Scatter-, Bubble- & CandleDataSet

方法使用
setHighLightColor(int color)设置高亮颜色。不要忘记用getResources().getColor(…) 或者 Color.rgb(…)来解析颜色(或者使用Color.BLACK这种简单的方式)

21.2 Line-, Bar-, Scatter-, Candle- & RadarDataSet

方法使用
setDrawHighlightIndicators(boolean enabled)启用/禁用垂直和水平高亮指示线。调用setDrawVerticalHighlightIndicator(…)和setDrawHorizo​​ntalHighlightIndicator(…)进行单独配置
setHighlightLineWidth(float width)设置高亮线(十字准线)的宽度。单位dp

21.3 Line- & RadarDataSet

方法使用
setFillColor(int color)设置用于填充线条表面的颜色
setFillAlpha(int alpha)设置用于填充线条表面(0-255)的Alpha值(透明度),默认值:85,255 =完全不透明,0 =完全透明
setFillDrawable(Drawable d)设置一个可以覆盖填充区域的Drawable。这也允许使用渐变Drawable
setDrawFilled(boolean filled)如果DataSet需要绘制填充(表面,区域),而不单单是一条线,那么将此项设置为true,禁用此功能将提升性能。请注意,此方法使用canvas.clipPath(…)方法绘制填充区域。对于API级别<18(Android 4.3)的设备,应关闭图表的硬件加速。具体查阅此处,默认为false
setLineWidth(float width)设置线条宽度(最小=0.2f,最大10f);默认1f。注意:细线==性能更好,粗线==性能更差
以下提到的方法仅适用于具体提到的DataSet子类。

21.4 LineDataSet

方法使用
setCircleRadius(float size)设置的圆形值指示符的大小(半径),默认大小= 4F
setDrawCircles(boolean enabled)设置为true启用LineDataSet的圆形指示器。默认为true
setDrawCubic(boolean enabled)如果设置为true,则线条图线将以立方式而不是线性绘制。这对性能有负面影响!默认值:false
setCubicIntensity(float intensity)设置立方体线的强度(如果启用)。 Max = 1f =非常立方,Min = 0.05f =低立方效应,默认值:0.2f
setCircleColor(int color)设置圆形指示器的颜色
setCircleColors(List colors)设置此LineDataSet外圈应具有的颜色。还有需要其他的方法来设置外圈的颜色
setCircleColorHole(int color)设置内圈的颜色
setDrawCircleHole(boolean enabled)设置为true.在绘制内圈,否则不绘制内圈
enableDashedLine(float lineLength, float spaceLength, float phase)启动虚线绘制,具体像”- - - - - -“这样. “lineLength”虚线段长度, “spaceLength”虚线段之间的空隙, “phase”是偏移量,以度数为单位(通常为0)

21.5 BarDataSet

方法使用
setBarSpacePercent(float percent)以总条宽的百分比设置条之间的间距
setBarShadowColor(int color)设置用于绘制条形阴影的颜色。条形图的阴影部分是一个用来表示最大值的界面。使用getResources().getColor(…) 或者Color.rgb(…)来设置这个值
setHighLightAlpha(int alpha)设置用于绘制高亮指示条的alpha值(透明度)。最小值=0(完全透明),最大值=255(完全不透明)
setStackLabels(String[] labels)设置不同值的条形堆栈的标签,如果有标签的话

21.6 ScatterDataSet

方法使用
setScatterShapeSize(float size)设置绘制的散点图将具有的密度像素的大小。这仅适用于非自定义形状
setScatterShape(ScatterShape shape)设置在值所在的位置绘制的形状

21.7 CandleDataSet

方法使用
setBodySpace(float space)设置每个蜡烛体左侧和右侧留出的空间,默认为0.1f(10%),最大0.45f,最小0f
setShadowWidth(float width)设置蜡烛线的宽度,单位dp。默认3f
setShadowColor(int color)设置蜡烛线的颜色
setDecreasingColor(int color)设置当打开>关闭时应该用于此DataSet的唯一的颜色
setIncreasingColor(int color)设置当打开<=关闭时应该用于此DataSet的唯一的颜色
setDecreasingPaintStyle(Paint.Style style)设置当打开>关闭时的Paint风格(填充或者线条)
setIncreasingPaintStyle(Paint.Style style)设置当打开<=关闭时的Paint风格(填充或者线条)

21.8 BubbleDataSet

方法使用
setHighlightCircleWidth(float width)设置在突出显示状态下气泡周围的圆的宽度,单位dp

21.9 PieDataSet

方法使用
setSliceSpace(float degrees)设置饼图切片之间的空隙。默认:0->没有空隙,最大20,最小0(没有空隙)
setSelectionShift(float shift)设置此DataSet的突出显示的饼图切片距离图表中心“偏移”的距离,默认为12f
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 开源