我在用AChartEngine绘制具有不同缩放比例的两个Y轴(一个在右侧,一个在左侧)时遇到问题:我希望左侧从0缩放到40,这是正确的,但是右侧的缩放不是您想要的,因为应该是10到100.请帮助我.
我的源代码如下所示
公共linearLayout execute(Context context){
String[] Titles = new String[] { "Ciggars" };List<double[]> x = new ArrayList<double[]>();for (int i = 0; i < Titles.length; i++) { x.add(new double[] { 1, 2, 3, 4, 5, 6, 7});}List<double[]> values = new ArrayList<double[]>();values.add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 13.9 });// Set color of linesint[] colors = new int[] { color.BLUE, color.YELLOW };PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE, PointStyle.DIAMOND};XYMultipleSerIEsRenderer renderer = new XYMultipleSerIEsRenderer(2);setRenderer(renderer, colors, styles);int length = renderer.getSerIEsRendererCount();for (int i = 0; i < length; i++) { ((XYSerIEsRenderer) renderer.getSerIEsRendererAt(i)).setFillPoints(true);}setChartSettings(renderer, "Average Cigarates", "Days", "Cigarates", 0, 7, 0, 40, color.LTGRAY, color.LTGRAY);// fragments on X and Y-axis to be divIDedrenderer.setXLabels(7);renderer.setYLabels(10);renderer.setShowGrID(true);renderer.setXLabelsAlign(Align.RIGHT);renderer.setYLabelsAlign(Align.RIGHT);renderer.setZoombuttonsVisible(true);renderer.setZoomrate(1.05f);renderer.setLabelscolor(color.WHITE);renderer.setXLabelscolor(color.GREEN);renderer.setYLabelscolor(0, colors[0]);renderer.setYLabelscolor(1, colors[1]);renderer.setYTitle("% Tar/Nicotine", 1);//renderer.setYTitle(Title, scale)renderer.setYAxisAlign(Align.RIGHT, 1);renderer.setYLabelsAlign(Align.left, 1);XYMultipleSerIEsDataset dataset = buildDataset(Titles, x, values);values.clear();values.add(new double[] { 4.3, 4.9, 5.9, 8.8, 10.8, 11.9, 13.6, 12.8});addXYSerIEs(dataset, new String[] { "Tar/Nicotine" }, x, values, 1);// set background colorrenderer.setApplyBackgroundcolor(true); renderer.setBackgroundcolor(color.GRAY);renderer.setmarginscolor(color.GRAY);GraphicalVIEw gvIEw = ChartFactory.getCubelineChartVIEw(context, dataset, renderer, 0.3f);linearLayout lnr = null;lnr = new linearLayout(context);lnr.addVIEw(gvIEw);return lnr; }
解决方法:
您正在为Y轴在右侧的系列添加以下值:
values.add(new double[] { 4.3, 4.9, 5.9, 8.8, 10.8, 11.9, 13.6, 12.8 });
默认情况下,由于AChartEngine计算可见范围,因此Y轴的范围在4.3和13.6之间.
因此,您必须将值设置在10到100之间,或者必须通过以下方式手动修改可见范围:
renderer.setYAxisMin(10, 1);renderer.setYAxisMax(100, 1);
总结 以上是内存溢出为你收集整理的android-如何在AChartEngine中绘制具有不同缩放比例的两个Y轴全部内容,希望文章能够帮你解决android-如何在AChartEngine中绘制具有不同缩放比例的两个Y轴所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)