我使用MPAndroidChart来显示股票图表,但Y线值非常接近,图表就像这样
我可以像
一样使用手指缩放我希望默认看起来像
有没有办法设置Y line max和min值或设置默认缩放。
我尝试了lib功能,但它不起作用
答案 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;
希望这对您有用!