Java PhilJay:MPAndroidChart库在错误的位置显示值
我正在使用android图形库Java PhilJay:MPAndroidChart库在错误的位置显示值,java,android,graph,Java,Android,Graph,我正在使用android图形库com.github.PhilJay:MPAndroidChart 数据集值位于错误位置,如下所示: 在上图中,紫色lineSet显示错误的yAxis值 我设置值的代码是: if (chart_lab.getData() != null && chart_lab.getData().getDataSetCount() > 0) { set1 = (LineDataSet) chart_lab.getData().getDataSetB
com.github.PhilJay:MPAndroidChart
数据集值位于错误位置,如下所示:
在上图中,紫色lineSet
显示错误的yAxis
值
我设置值的代码是:
if (chart_lab.getData() != null && chart_lab.getData().getDataSetCount() > 0) {
set1 = (LineDataSet) chart_lab.getData().getDataSetByIndex(0);
set1.setValues(values);
set2 = (LineDataSet) chart_lab.getData().getDataSetByIndex(1);
set2.setValues(hbpVals2);
/*ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
dataSets.add(set1); // add the datasets
dataSets.add(set2);
// create a data object with the datasets
LineData data = new LineData(dataSets);
chart_lab.setData(data);*/
chart_lab.getData().notifyDataChanged();
chart_lab.notifyDataSetChanged();
chart_lab.animateY(500);
} else {
// create a dataset and give it a type
set1 = new LineDataSet(values, "Diastolic BP(mmHg)");
set1.setCubicIntensity(0.1f);
set1.enableDashedLine(10f, 5f, 0f);
set1.enableDashedHighlightLine(10f, 5f, 0f);
set1.setColor(Color.RED);
set1.setCircleColor(Color.BLACK);
set1.setLineWidth(2f);
set1.setHighLightColor(Color.RED);
set1.setCircleRadius(4f);
set1.setDrawCircleHole(false);
set1.setValueTextSize(9f);
//set1.setDrawFilled(true);
set1.setFormLineWidth(1f);
set1.setFormLineDashEffect(new DashPathEffect(new float[]{10f, 5f}, 0f));
set1.setFormSize(15.f);
set2 = new LineDataSet(hbpVals2, "Systolic BP(mmHg)");
set2.setCubicIntensity(0.1f);
set2.setAxisDependency(YAxis.AxisDependency.RIGHT);
set2.setColor(activity.getResources().getColor(R.color.colorPrimary));
set2.setCircleColor(activity.getResources().getColor(R.color.colorPrimaryDark));
set2.setLineWidth(2f);
set2.setCircleRadius(4f);
set2.setFillAlpha(65);
set2.setFillColor(Color.RED);
set2.setDrawCircleHole(false);
set2.setHighLightColor(Color.rgb(244, 117, 117));
ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
dataSets.add(set1); // add the datasets
dataSets.add(set2);
// create a data object with the datasets
LineData data = new LineData(dataSets);
// set data
chart_lab.setData(data);
chart_lab.animateY(500);
chart_lab.invalidate();
chart_lab.refreshDrawableState();
}
if(chart\u lab.getData()!=null&&chart\u lab.getData().getDataSetCount()>0){
set1=(LineDataSet)图表_lab.getData().getDataSetByIndex(0);
set1.setValues(值);
set2=(LineDataSet)图表_lab.getData().getDataSetByIndex(1);
set2.setValues(hbpVals2);
/*ArrayList数据集=新的ArrayList();
dataSets.add(set1);//添加数据集
数据集.add(set2);
//使用数据集创建数据对象
LineData数据=新的LineData(数据集);
图表\实验室设置数据(数据)*/
图表_lab.getData().notifyDataChanged();
图表_lab.notifyDataSetChanged();
海图实验室动画(500);
}否则{
//创建数据集并为其指定类型
set1=新的LineDataSet(值,“舒张压(mmHg)”;
set1.SETCubicintensisity(0.1f);
设置1.启用DashedLine(10f、5f、0f);
设置1.启用DashedHighlightLine(10f、5f、0f);
set1.setColor(Color.RED);
set1.setCircleColor(颜色:黑色);
设置1.设置线宽(2f);
set1.setHighLightColor(Color.RED);
set1.setCircleRadius(4f);
set1.setDrawCircleHole(假);
set1.setValueTextSize(9f);
//set1.setDrawFilled(true);
set1.setFormLineWidth(1f);
set1.setFormLineDashEffect(新DashPathEffect(新浮点[]{10f,5f},0f));
set1.setFormSize(15.f);
set2=新的线性数据集(hbpVals2,“收缩压(mmHg)”;
set2.setCubicIntensity(0.1f);
set2.setAxisDependency(YAxis.AxisDependency.RIGHT);
set2.setColor(activity.getResources().getColor(R.color.colorPrimary));
set2.setCircleColor(activity.getResources().getColor(R.color.colorPrimaryDark));
设置2.设置线宽(2f);
set2.setCircleRadius(4f);
set2.setFillAlpha(65);
set2.setFillColor(Color.RED);
set2.setDrawCircleHole(假);
set2.setHighLightColor(Color.rgb(2441717117));
ArrayList数据集=新的ArrayList();
dataSets.add(set1);//添加数据集
数据集.add(set2);
//使用数据集创建数据对象
LineData数据=新的LineData(数据集);
//设置数据
图表\实验室设置数据(数据);
海图实验室动画(500);
图表_lab.invalidate();
chart_lab.refreshDrawableState();
}
如果有人知道问题,请提供帮助。我只需从上面的代码中删除下面的一行就解决了问题:
set2.setAxisDependency(YAxis.AxisDependency.RIGHT);