MPAndroidChart 教程:与图表的交互 Interaction with the Chart

简介: 该库允许您完全自定义与图表视图的可能触摸(和手势)交互,并通过回调方法对交互作出反应。启用/禁用交互setTouchEnabled(boolean enabled):启用/禁用与图表的所有可能的触摸交互。

该库允许您完全自定义与图表视图的可能触摸(和手势)交互,并通过回调方法对交互作出反应。

启用/禁用交互

  • setTouchEnabled(boolean enabled):启用/禁用与图表的所有可能的触摸交互。
  • setDragEnabled(boolean enabled):启用/禁用图表的拖动(平移)。
  • setScaleEnabled(boolean enabled):启用/禁用缩放图表上的两个轴。
  • setScaleXEnabled(boolean enabled):启用/禁用x轴上的缩放。
  • setScaleYEnabled(boolean enabled):启用/禁用y轴缩放。
  • setPinchZoom(boolean enabled):如果设置为true,则启用缩放缩放。如果禁用,则可以单独缩放x轴和y轴。
  • setDoubleTapToZoomEnabled(boolean enabled):将此设置为false以禁止通过双击来缩放图表。

图表抛掷/减速

  • setDragDecelerationEnabled(boolean enabled):如果设置为true,图表会在触摸后继续滚动,默认值:true。
  • setDragDecelerationFrictionCoef(float coef):减速摩擦系数[0; 1]间隔,较高的值表示速度将缓慢下降,例如,如果设置为0,它将立即停止。1是无效值,将自动转换为0.9999。

突出显示值

highlightning section,对如何通过点击手势和编程方式突出显示条目进行了描述。

手势回调

OnChartGestureListener将允许您对图表上的手势做出反应:

public interface OnChartGestureListener {

    /**
     * Callbacks when a touch-gesture has started on the chart (ACTION_DOWN)
     *
     * @param me
     * @param lastPerformedGesture
     */
    void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);

    /**
     * Callbacks when a touch-gesture has ended on the chart (ACTION_UP, ACTION_CANCEL)
     *
     * @param me
     * @param lastPerformedGesture
     */
    void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);

    /**
     * Callbacks when the chart is longpressed.
     * 
     * @param me
     */
    public void onChartLongPressed(MotionEvent me);

    /**
     * Callbacks when the chart is double-tapped.
     * 
     * @param me
     */
    public void onChartDoubleTapped(MotionEvent me);

    /**
     * Callbacks when the chart is single-tapped.
     * 
     * @param me
     */
    public void onChartSingleTapped(MotionEvent me);

    /**
     * Callbacks then a fling gesture is made on the chart.
     * 
     * @param me1
     * @param me2
     * @param velocityX
     * @param velocityY
     */
    public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY);

   /**
     * Callbacks when the chart is scaled / zoomed via pinch zoom gesture.
     * 
     * @param me
     * @param scaleX scalefactor on the x-axis
     * @param scaleY scalefactor on the y-axis
     */
    public void onChartScale(MotionEvent me, float scaleX, float scaleY);

   /**
    * Callbacks when the chart is moved / translated via drag gesture.
    *
    * @param me
    * @param dX translation distance on the x-axis
    * @param dY translation distance on the y-axis
    */
    public void onChartTranslate(MotionEvent me, float dX, float dY);
}

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

chart.setOnChartGestureListener(this);

 

相关文章
|
4月前
|
数据可视化 图形学 C++
C++ Qt开发:Charts绘图组件概述
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`QCharts`二维绘图组件的常用方法及灵活运用。Qt Charts 提供了一个强大且易于使用的工具集,用于在 Qt 应用程序中创建各种类型的图表和图形可视化,该模块提供了多种类型的图表,包括折线图、散点图、条形图、饼图等。这使得开发人员能够轻松地将数据以直观的方式呈现给用户,增强应用程序的可视化效果。
163 0
C++ Qt开发:Charts绘图组件概述
|
4月前
|
数据可视化 前端开发
数据可视化之antv/g6 交互与事件及自定义Behavior
数据可视化之antv/g6 交互与事件及自定义Behavior
604 1
|
4月前
|
XML Web App开发 前端开发
如何使用 UI5 前端框架进行图表(Chart)的绘制
如何使用 UI5 前端框架进行图表(Chart)的绘制
|
11月前
108Echarts - 雷达图(Basic Radar Chart)
108Echarts - 雷达图(Basic Radar Chart)
37 0
|
11月前
163Echarts - 桑基图(Basic Sankey)
163Echarts - 桑基图(Basic Sankey)
60 0
|
11月前
87Echarts - 散点图(Visual interaction with stream)
87Echarts - 散点图(Visual interaction with stream)
20 0
|
数据可视化 Go 项目管理
R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
187 0
|
前端开发 API 开发者
使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
|
XML Web App开发 JSON
一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart
一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart
238 0
一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart