MPAndroidChart-如何在折线图底部绘制条形图
我想用成交量绘制股票的历史价格图,类似于: 使用,我使用MPAndroidChart-如何在折线图底部绘制条形图,android,charts,mpandroidchart,Android,Charts,Mpandroidchart,我想用成交量绘制股票的历史价格图,类似于: 使用,我使用CombinedChart获得了这个结果: 以下是我的代码片段: CombinedChart mChart = (CombinedChart) findViewById(R.id.chart); final ArrayList<BarEntry> barList = new ArrayList<>(); final ArrayList<Entry> lineList = new ArrayList&
CombinedChart
获得了这个结果:
以下是我的代码片段:
CombinedChart mChart = (CombinedChart) findViewById(R.id.chart);
final ArrayList<BarEntry> barList = new ArrayList<>();
final ArrayList<Entry> lineList = new ArrayList<>();
// add Bar & Line data entries
.....
// bar depends on LEFT y-axis
BarDataSet barSet = new BarDataSet(barList, "");
barSet.setAxisDependency(YAxis.AxisDependency.LEFT);
BarData barData = new BarData(barSet);
// line depends on RIGHT y-axis
LineDataSet lineSet = new LineDataSet(lineList, "");
lineSet.setAxisDependency(YAxis.AxisDependency.RIGHT);
LineData lineData = new LineData(lineSet);
// set data to chart
....
float barYMax = barData.getYMax();
float lineYMin = lineData.getYMin();
// to make bar appears at bottom
YAxis leftAxis = mChart.getAxisLeft();
leftAxis.setAxisMaximum(barYMax * 10);
// to make line appears at top
YAxis rightAxis = mChart.getAxisRight();
rightAxis.setAxisMinimum(lineYMin * 0.5f);
CombinedChart mChart=(CombinedChart)findViewById(R.id.chart);
最终ArrayList barList=新ArrayList();
最终ArrayList lineList=新ArrayList();
//添加条线数据项(&L)
.....
//条取决于左y轴
BarDataSet barSet=新的BarDataSet(barList,“”);
setAxisDependency(YAxis.AxisDependency.LEFT);
BarData BarData=新的BarData(barSet);
//直线取决于右y轴
LineDataSet lineSet=新的LineDataSet(lineList,“”);
lineSet.setAxisDependency(YAxis.AxisDependency.RIGHT);
LineData LineData=新的LineData(线集);
//将数据设置为图表
....
float barYMax=barData.getYMax();
float lineYMin=lineData.getYMin();
//使条形图显示在底部的步骤
YAxis leftAxis=mChart.getAxisLeft();
leftAxis.setaxis最大值(barYMax*10);
//使线条显示在顶部
YAxis rightAxis=mChart.getAxisRight();
右轴。设置轴最小值(lineYMin*0.5f);
为了使“条形图”上方出现“折线图”:
条形图取决于左y轴。为了使条形图显示在底部,我使用leftAxis.setaxismax(barYMax*10)
将其比例放大
折线图取决于右y轴。要向上移动队列,我需要rightAxis.setAxismimum(lineYMin*0.5f)
我想知道有没有更好的方法来达到这个效果
在我的解决方案中,折线图可能仍然与条形图部分重叠。理想情况下,我希望实现完全不重叠
,因为行完全显示在条形图的顶部