MPAndroidChart如何设置y轴最小值和最大值或设置默认缩放?

时间:2015-07-21 15:24:34

标签: android charts mpandroidchart

我使用MPAndroidChart来显示股票图表,但Y线值非常接近,图表就像这样enter image description here

我可以像enter image description here

一样使用手指缩放

我希望默认看起来像

有没有办法设置Y line max和min值或设置默认缩放。

我尝试了lib功能,但它不起作用

6 个答案:

答案 0 :(得分:29)

看看documentation of the YAxis。有多种方法可以控制轴范围。

  • setStartAtZero(boolean enabled):如果启用此选项,则无论图表显示哪种数据,此轴始终将其最小值设置为零(0)。
  • setAxisMaxValue(float max):为此轴设置自定义最大值。如果设置,则不会根据提供的数据自动计算该值。
  • setAxisMinValue(float min):为此轴设置自定义最小值。如果设置,则不会根据提供的数据自动计算该值。
  • setSpaceTop(float percent):设置图表中最高值的顶部间距(占总轴范围的百分比),与轴上的最高值进行比较。
  • setSpaceBottom(float percent):设置图表中最低值的底部间距(以总轴范围的百分比表示)与轴上的最低值进行比较。

答案 1 :(得分:11)

左右轴之间存在一种依赖关系。我只启用了右轴并设置了

chart.getAxisRight().setStartAtZero(false);

但是直到我将相同的参数设置为我的leftYAxis(已禁用)之后,这才起作用。所以我现在

 chart.getAxisLeft().setStartAtZero(false);
 chart.getAxisRight().setStartAtZero(false);

编辑:

不推荐使用setStartAtZero,代码建议使用setAxisMinimum。

 * This method is deprecated.
 * Use setAxisMinimum(...) / setAxisMaximum(...) instead.

您可以在documentation中找到更多相关内容。

答案 2 :(得分:4)

您也可以使用

mChart.setVisibleYRangeMaximum(150, AxisDependency.LEFT);

在y轴上设置最高可见值的方法。

答案 3 :(得分:1)

使用setScaleMinima() 和chart.moveViewToY(max),YAxis.AxisDependency.LEFT); 是最好的解决方案。

答案 4 :(得分:0)

请尝试这个,我不确定你想要什么。当我在MPAndroidChart中面对微小缩放级别时,我使用这种方法,

<强> mChart.setPinchZoom(真); mChart.setScaleMinima(200,200); //用于缩放的最小值和最大值 一世 希望能解决你的问题

答案 5 :(得分:0)

没有其他答案对我有用(我不确定为什么)。但是,我使用以下方法使其起作用:

ratingTracker.getAxisLeft().mAxisMaximum = max;
ratingTracker.getAxisLeft().mAxisMinimum = min;

希望这对您有用!