我试图绘制如下的立方线图:
使用MPAndroid图表库.
我可以绘制线,但不能绘制X轴和线之间的填充,如图所示.
经历了图书馆和许多SO问题.
我想你需要这个:
LineDataSet dataset = new LineDataSet(vals, null); dataset.setDrawFilled(true);
setDrawFilled(boolean filled)
设置为true如果
DataSet
应该绘制填充(表面),而不是作为一条线,禁用它将提供极大的性能提升!默认:false
您还可以控制透明度:
setFillAlpha(int alpha)
设置用于填充线表面的alpha值(透明度)(0-255),默认值:85
和颜色:
setFillColor(int color)
设置用于填充线条表面的颜色
要删除水平网格线:
chart.getXAxis().setDrawGridLines(false);
对于立方线:
dataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
要填充线下方的区域,请禁用显示的值:
dataSet.setDrawFilled(true); dataSet.setDrawValues(false);
设置填充颜色和线条颜色:
dataSet.setFillColor(ContextCompat.getColor(contex,R.color.pale_green)); dataSet.setColor(ContextCompat.getColor(contex,R.color.pale_green));
禁用透明度(值范围0-255)并禁用主图表行上的绘制圆:
dataSet.setFillAlpha(255); dataSet.setDrawCircles(false);
结果:
edit1:禁用图例并隐藏说明:
chart.getDescription().setText(""); chart.getLegend().setEnabled(false);
和:
#6BF3AD
edit2:禁用右轴:
chart.getAxisRight().setEnabled(false);
edit3:几乎忘记了最后一件事:
chart.getAxisLeft().setValueFormatter(new IAxisValueFormatter() { @Override public String getFormattedValue(float value, AxisBase axis) { return String.format("%.2f $",value); } });