双 y 轴绘图导致图表左角的数据点看起来很乱
dual y axis plotting causes data points looks messy at left corner of chart
我正在使用 MPAndroid 图表工具包进行数据可视化。图表在 MPAndroid 中绘制平滑,但当我尝试绘制双 y 轴(左和右)时出现问题。当右轴出现时,数据点完全分布在 x 轴上。图表左侧出现的所有数据点。我怎样才能传播数据点?
mChart = (LineChart) findViewById(R.id.Chart);
mChart.setGridBackgroundColor(Color.parseColor("#F4F4F4"));
mChart.setDrawGridBackground(false);
mChart.setTouchEnabled(true);
mChart.setHighlightEnabled(false);
mChart.setDragEnabled(false);
mChart.setScaleEnabled(true);
mChart.setPinchZoom(true);
mChart.setDescription("");
mChart.getAxisLeft().setAxisMaxValue(YMaxValue);
mChart.getAxisLeft().setAxisMinValue(YMinValue);
mChart.getAxisLeft().setStartAtZero(false);
mChart.getAxisRight().setEnabled(false);
if(General.InnerClass.Y2AxisValues.size()>0)
{
mChart.getAxisRight().setEnabled(true);
mChart.getAxisRight().setSpaceBottom(12.25f);
mChart.getAxisRight().setAxisMaxValue(Y2MaxValue);
mChart.getAxisRight().setAxisMinValue(Y2MinValue);
mChart.getAxisRight().setStartAtZero(false);
mChart.getXAxis().setAvoidFirstLastClipping(true);
}
mChart.setData(data);
progbar.setVisibility(View.GONE);
mChart.invalidate();
之前
之后
数据点正好在它们应该在的位置。唯一改变的是每个轴上显示的值的范围。
--> 这个范围现在明显变小了,因为每个轴只表示一组数据,以前,一个轴必须足够大才能显示两个数据集。
我建议您阅读 documentation of the YAxis 并简单地增加应在轴上显示的值的范围。
在绘制提供 x 值的 y2 轴时出现问题。 x 轴的值应一次性提供。提供两次将值添加到 x 轴,现有值翻倍。
thnx @philipp
我正在使用 MPAndroid 图表工具包进行数据可视化。图表在 MPAndroid 中绘制平滑,但当我尝试绘制双 y 轴(左和右)时出现问题。当右轴出现时,数据点完全分布在 x 轴上。图表左侧出现的所有数据点。我怎样才能传播数据点?
mChart = (LineChart) findViewById(R.id.Chart);
mChart.setGridBackgroundColor(Color.parseColor("#F4F4F4"));
mChart.setDrawGridBackground(false);
mChart.setTouchEnabled(true);
mChart.setHighlightEnabled(false);
mChart.setDragEnabled(false);
mChart.setScaleEnabled(true);
mChart.setPinchZoom(true);
mChart.setDescription("");
mChart.getAxisLeft().setAxisMaxValue(YMaxValue);
mChart.getAxisLeft().setAxisMinValue(YMinValue);
mChart.getAxisLeft().setStartAtZero(false);
mChart.getAxisRight().setEnabled(false);
if(General.InnerClass.Y2AxisValues.size()>0)
{
mChart.getAxisRight().setEnabled(true);
mChart.getAxisRight().setSpaceBottom(12.25f);
mChart.getAxisRight().setAxisMaxValue(Y2MaxValue);
mChart.getAxisRight().setAxisMinValue(Y2MinValue);
mChart.getAxisRight().setStartAtZero(false);
mChart.getXAxis().setAvoidFirstLastClipping(true);
}
mChart.setData(data);
progbar.setVisibility(View.GONE);
mChart.invalidate();
之前
之后
数据点正好在它们应该在的位置。唯一改变的是每个轴上显示的值的范围。 --> 这个范围现在明显变小了,因为每个轴只表示一组数据,以前,一个轴必须足够大才能显示两个数据集。
我建议您阅读 documentation of the YAxis 并简单地增加应在轴上显示的值的范围。
在绘制提供 x 值的 y2 轴时出现问题。 x 轴的值应一次性提供。提供两次将值添加到 x 轴,现有值翻倍。
thnx @philipp