MPAndroidChart 教程:突出显示值 Highlighting Values

简介: 本节主题是重点介绍通过tap-gesture和基于发行版v3.0.0以编程方式突出显示图表中条目。启用/禁用突出显示setHighlightPerDragEnabled(boolean enabled):在Chart 上将此设置为true,以便在完全缩小时在图表表面上进行每次拖动时突出显示,默认值:true setHighlightPerTapEnabled(boolean enabled):在Chart 上将此设置为false,以防止通过点击手势突出显示值。

本节主题是重点介绍通过tap-gesture和基于发行版v3.0.0以编程方式突出显示图表中条目。

启用/禁用突出显示

  • setHighlightPerDragEnabled(boolean enabled):在Chart 上将此设置为true,以便在完全缩小时在图表表面上进行每次拖动时突出显示,默认值:true
  • setHighlightPerTapEnabled(boolean enabled):在Chart 上将此设置为false,以防止通过点击手势突出显示值。仍可通过拖动或以编程方式突出显示值,默认值:true
  • setMaxHighlightDistance(float distanceDp):设置dp中的最大高亮距离。在图表上轻敲远离条目的距离不会触发突出显示。默认值:500dp

除此之外,还可以为单个DataSet对象配置突出显示:

 dataSet.setHighlightEnabled(true); // allow highlighting for DataSet

  // set this to false to disable the drawing of highlight indicator (lines)
  dataSet.setDrawHighlightIndicators(true); 
  dataSet.setHighlightColor(Color.BLACK); // color for highlight indicator
  // and more...

以编程方式突出显示

  • highlightValue(float x, int dataSetIndex, boolean callListener):突出显示给定DataSet中给定x坐标的值。提供-1作为dataSetIndex以撤消所有突出显示。布尔标志确定应该调用选择监听器还是不调用选择侦听器。
  • highlightValue(Highlight high, boolean callListener):突出显示提供的Highlight对象所代表的值。提供null以撤消所有突出显示。布尔标志确定应该调用选择侦听器还是不调用选择监听器。
  • highlightValues(Highlight[] highs):突出显示给定Highlight[]数组表示的值。提供null或空数组以撤消所有突出显示。
  • getHighlighted():返回一个Highlight[]数组,其中包含有关所有突出显示的条目,x-index和dataset-index的信息。

选择回调

该库在交互时为回调提供了许多监听器。其中一个是OnChartValueSelectedListener,通过触摸突出显示值时的回调:

public interface OnChartValueSelectedListener { /** * Called when a value has been selected inside the chart. * * @param e The selected Entry. * @param h The corresponding highlight object that contains information * about the highlighted position */ public void onValueSelected(Entry e, Highlight h); /** * Called when nothing has been selected or an "un-select" has been made. */ public void onNothingSelected(); } }

只需让你的接收回调的类实现这个接口并将其设置为图表的监听器:

chart.setOnChartValueSelectedListener(this);

Highlight类

Highlight类表示与突出显示的Entry关联的所有数据,例如突出显示的Entry对象本身,它所属的DataSet,它在绘图表面上的位置等等。它可用于获取有关已突出显示的条目的信息,或用于向图表提供信息以突出显示条目。为了这个目的,Highlight该类提供了两个构造函数:

 /** constructor for standard highlight */
 public Highlight(float x, int dataSetIndex) { ... }

 /** constructor for stacked BarEntry highlight */
 public Highlight(float x, int dataSetIndex, int stackIndex) { ... }

这些构造函数可用于创建Highlight对象,该对象允许以编程方式执行突出显示:

// highlight the entry and x-position 50 in the first (0) DataSet
Highlight highlight = new Highlight(50f, 0); 

chart.highlightValue(highlight, false); // highlight this value, don't call listener

定制荧光笔

高亮手势形式的所有用户输入都由默认的ChartHighlighter类在内部处理。可以使用以下方法用自定义实现替换默认的highligher:

  • setHighlighter(ChartHighlighter highlighter):为图表设置自定义highligher对象,以 handles / processes在图表视图上执行的所有高亮触摸事件。您的自定义荧光笔对象需要扩展该ChartHighlighter类。

 

相关文章
|
1月前
|
Java 开发者
使用HashMap的values()方法返回的值转换为List时遇到错误
使用HashMap的values()方法返回的值转换为List时遇到错误
|
8月前
|
存储 缓存 数据可视化
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处(上)
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处
2110 0
|
8月前
|
存储 JSON 数据可视化
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处(下)
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处
546 0
|
8月前
|
存储 NoSQL UED
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处(中)
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处
535 0
|
关系型数据库 MySQL 索引
mysql更新varchar类型字段长度报错:ERROR 1074 (42000): Column length too big for column ‘value‘ (max = 21845);
mysql更新varchar类型字段长度报错:ERROR 1074 (42000): Column length too big for column ‘value‘ (max = 21845);
|
C++ 容器
set以及使用举例--C++基础
set以及使用举例--C++基础
124 0
set以及使用举例--C++基础
使用 some , every ,和 Object.values 检查对象内的值
使用 some , every ,和 Object.values 检查对象内的值
127 0
使用 some , every ,和 Object.values 检查对象内的值
|
前端开发 JavaScript
Select的option 中填充其他属性值(十三)
Select的option 中填充其他属性值(十三)
556 0
Select的option 中填充其他属性值(十三)