Jeffy's Blog

天下事有难易乎? 为之,则难者亦易矣。


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 公益404

  • 搜索

17.MarkerView(Popup View)

发表于 2017-08-15 | 分类于 Android

自版本v3.0.0以来,图表中的标记(弹出式视图)由IMarker界面表示。

IMarker界面

此界面允许您创建在图表中突出显示的条目上显示的自定义标记视图。界面提供的方法如下:

阅读全文 »

16.动画

发表于 2017-08-14 | 分类于 Android

注意:仅针对API级别11(Android 3.0.x)和更高版本的动画。

在较低的Android版本上,动画将不会执行(但不会崩溃)。

所有图表类型支持可用于以令人敬畏的方式创建/构建图表的动画。存在三种不同类型的动画方法,分别对x或y轴进行动画化:

  • animateX(int durationMillis):在横轴上对图表进行动画处理,这意味着图表将在从左到右的指定时间内建立。
  • animateY(int durationMillis):在垂直轴上对图表进行动画处理,这意味着图表将在从下到上的指定时间内建立。
  • animateXY(int xDuration, int yDuration):动画水平和垂直轴,导致左/右底部/顶部积聚。

    mChart.animateX(3000); //动画水平3000毫秒
    //或: 
    mChart.animateY(3000); //动画垂直3000毫秒
    //或: 
    mChart.animateXY(3000, 3000);//动画水平和垂直3000毫秒
    

如果animate(…)(任何一种)被调用,则不需要进一步调用invalidate()来刷新图表。

阅读全文 »

15.修改视口

发表于 2017-08-14 | 分类于 Android

该库具有各种修改视口的方法(图表上可见,视图的目的)。请注意,这些方法只适用的LineChart,BarChart,ScatterChart和CandleStickChart。

下面提到的方法由Chart课程提供。修改视口的另一种方法是通过ViewPortHandler直接访问它(没有图表提供的内部安全性)。这仅适用于熟悉API的高级用户。

请注意,修改视口的所有方法需要在Chart 设置数据后调用。

限制可见的内容

阅读全文 »

14.动态和实时数据

发表于 2017-08-14 | 分类于 Android

自v1.6.3起可用 - 不断改进。

为了将新数据添加到图表或动态删除数据,有多种方法可以将Entry对象从现有对象DataSet添加或删除或从现有ChartData对象添加或删除DataSet对象。

动态添加/删除数据的可能性

Class DataSet(和所有子类):

  • addEntry(Entry e):将给定的Entry对象添加到DataSet。

Class ChartData(和所有子类):

  • addEntry(Entry e, int dataSetIndex):将给定的数据集添加Entry到DataSet指定的数据集索引。
  • addDataSet(DataSet d):将给定DataSet对象添加到ChartData对象。
阅读全文 »

13.Legend

发表于 2017-08-14 | 分类于 Android

默认情况下,所有图表类型都支持图例,并在为图表设置数据后自动生成和绘制图例。Legend通常由通过一个标签的形式/形状表示多个条目的每一个。

自动生成的图例包含的条目数取决于不同颜色(跨所有DataSet对象)以及DataSet标签的数量。标签Legend取决于为DataSet图表中的已使用对象设置的标签。如果没有DataSet指定对象的标签,图表将自动生成。如果使用多种颜色DataSet,那么这些颜色是分组的,只能由(属于)一个标签描述。

对于自定义Legend,您可以Legend使用以下getLegend()方法从图表中检索对象:

Legend legend = chart.getLegend();

控制是否绘制图例

  • setEnabled(boolean enabled):设置Legend启用或禁用。如果禁用,Legend将不会被绘制。
阅读全文 »

12.具体设置和样式

发表于 2017-08-13 | 分类于 Android

在第1章中提到了适用于所有图表类型的入门常规图表设置和样式方法。本章重点介绍各种图表类型的具体设置。

Line-,Bar-,Scatter-,Candle-&BubbleChart

  • setAutoScaleMinMaxEnabled(boolean enabled):表示是否启用了y轴自动缩放的标志。如果启用,只要视口更改,y轴就会自动调整到当前x轴范围的最小和最大y值。这对于显示财务数据的图表尤其有用。默认值:false
  • setKeepPositionOnRotation(boolean enabled):在更改方向后,图表应保持其位置(缩放/滚动)。默认值:false
阅读全文 »

11.一般设置和样式

发表于 2017-08-13 | 分类于 Android

本节重点介绍此库适用于所有Chart类型的的设置和样式。

刷新

invalidate():在图表上调用此方法将刷新(重绘)。这是为了使在图表上执行的更改生效而需要的。
notifyDataSetChanged():让图表知道底层数据已经改变,并执行所有必要的重新计算(偏移,图例,最大值,最小值,…)。特别是在动态添加数据时尤其如此。

记录

setLogEnabled(boolean enabled):将其设置为true将激活图表logcat输出。启用此功能对于性能不利,如果不需要,请保持禁用。
一般图表样式

阅读全文 »

10.格式化轴值(AxisValueFormatter)

发表于 2017-08-13 | 分类于 Android

在版本v3.0.0中引入,此界面允许在绘制之前自定义样式XAxis和YAxis值。

创建格式化程序

所有需要对轴进行自定义格式化的值都是创建一个实现IAxisValueFormatter接口的类,如下所示。该格式器用于始终将轴的值格式化为1位十进制数字。

public class MyYAxisValueFormatter implements IAxisValueFormatter {

    private DecimalFormat mFormat;

    public MyAxisValueFormatter() {

      //格式值为1位十进制数 
        mFormat = new DecimalFormat("###,###,##0.0");
    }

    @Override
    public String getFormattedValue(float value, AxisBase axis) {
          // “value”表示标签在轴上的位置(x或y)
        return mFormat.format(value) + " $";
    }

    /** 只有返回数字时才需要这个,否则返回0 */
    @Override
    public int getDecimalDigits() { return 1; }
}
阅读全文 »

9.格式化数据值(ValueFormatter)

发表于 2017-08-12 | 分类于 Android

自v1.6.2起可用 - 在v2.1.4中更改(改进)

该IValueFormatter可用于创建自定义界面的格式化程序类,允许DataSets在绘制图形之前以特定方式格式化图表中的值(从)。

对于使用IValueFormatter,只需创建一个新类,并让它实现接口并返回任何你想要显示的getFormattedValue(…)方法。

Creating a Formatter

public class MyValueFormatter implements IValueFormatter {

    private DecimalFormat mFormat;

    public MyValueFormatter() {
    mFormat = new DecimalFormat("###,###,##0.0"); // 使用一个小数
    }

    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
    //在这里写你的逻辑
    return mFormat.format(value) + " $"; //例如附加一个美元符号
    }
}
阅读全文 »

8.设置颜色

发表于 2017-08-12 | 分类于 Android

自版本v1.4.0以来,ColorTemplate不再是需要负责在以前版本中设置颜色的对象。然而,它仍然保留所有预定义的颜色阵列(例如,ColorTemplate.VORDIPLOM_COLORS并提供将颜色从资源(资源整数)转换为“真实”颜色的便利方法。

而取代ColorTemplate,现在可以直接通过DataSet对象指定颜色,这允许为每个DataSet对象分别设计样式。

在这个简短的例子中,我们有两个不同的LineDataSet对象代表了两家公司的季度收入(以前在“ 设置数据”教程中提到),我们现在要设置不同的颜色。

阅读全文 »
123
吴纪飞

吴纪飞

Do your best

21 日志
3 分类
5 标签
GitHub JianShu
Creative Commons
© 2017 吴纪飞
由 Hexo 强力驱动
主题 - NexT.Pisces
本站访客数 人次 本站总访问量 次
0%