我试图将类似于这个的图形与aChartengine相符,但是我找不到像图像中那样在垂直网格中获得不同厚度的方法,是否有人可以帮助我?< / p>
这是我的代码:删除连接点的行是否可行?
public Intent execute(Context context) {
String[] titles = new String[] { "Systolic Pressure", "Diastolic Pressure", "BIS", "ETCO2"};
List<double[]> x = new ArrayList<double[]>();
for (int i = 0; i < titles.length; i++) {
x.add(new double[] { 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 });
}
List<double[]> values = new ArrayList<double[]>();
values.add(new double[] { 108, 110.5, 110, 115, 114, 118, 116, 119, 120, 125.3, 122.2,
13.9 });
values.add(new double[] { 75, 77, 80, 79, 82, 84, 83, 80, 86, 88, 85, 80 });
values.add(new double[] { 5, 5.3, 8, 12, 17, 22, 24.2, 24, 19, 15, 9, 6 });
values.add(new double[] { 9, 10, 11, 15, 19, 23, 26, 25, 22, 18, 13, 10 });
int[] colors = new int[] { Color.BLUE, Color.RED, Color.CYAN, Color.YELLOW };
PointStyle[] styles = new PointStyle[] { PointStyle.TRIANGLE, PointStyle.TRIANGLE,
PointStyle.POINT, PointStyle.SQUARE};
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
setChartSettings(renderer, "Anesthesia sheet", "Time", " ", 0, 60, 0, 250,
Color.WHITE, Color.WHITE);
renderer.setXLabels(12);
renderer.setYLabels(10);
renderer.setShowGrid(true);
renderer.setXLabelsAlign(Align.RIGHT);
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setZoomButtonsVisible(true);
renderer.setPanLimits(new double[] { 0,60, 0, 250 });
renderer.setZoomLimits(new double[] { 0, 60, 0, 250});
XYMultipleSeriesDataset dataset = buildDataset(titles, x, values);
Intent intent = ChartFactory.getLineChartIntent(context, dataset, renderer,
"Anesthesia");
return intent; }
这是Android中的图表:
答案 0 :(得分:0)
我知道这个问题太旧了,但我想基本要求是可以配置网格线宽度/厚度,特别是使用achartengine
的折线图。
正如本问题的评论中所讨论的,achartengine
库本身没有提供修改网格线宽/厚度的API,因此只有在您愿意更改库本身的源代码时,才能使用以下解决方案(拥有适当的图书馆许可法律许可。)
要修改的文件:XYChart.java
修改方法:drawXTextLabels
您需要添加的代码以增加网格线宽/厚度:
paint.setStrokeWidth(2);//adjust 2 to suitable value as per your requirement.
上述代码行需要在canvas.drawLine(xLabel, bottom, xLabel, top, paint);
方法中drawXTextLabels
之前添加。
achartengine
图书馆版本: 1.0.0
注意:上面的代码会使所有网格线变粗,您需要根据业务逻辑设置特定网格线的厚度/宽度。