2014-11-21 65 views
0

我試圖符合類似於這個與圖形類似的圖形,但我找不到方法來獲得不同的厚度,像圖像中的垂直網格,有沒有人可以幫助我?aChartEngine,網格和厚度

enter image description here

這是我的代碼:是不是更多鈔票來刪除連接點的線路?

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上圖: enter image description here

+0

您可以使用renderer.setShowGridY(true);垂直網格。 – keshav 2014-11-24 13:38:38

+0

謝謝你的幫助@keshav,但我想要的是在圖像中獲得不同厚度的垂直網格,你能幫助我嗎? – colibriii 2014-11-25 11:36:26

+0

謝謝你的幫助@keshav,但我想要的是在圖像中獲得不同的垂直網格厚度,你能幫助我嗎? – colibriii 2014-11-25 12:51:34

回答

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); in drawXTextLabels方法。

achartengine庫版本:1.0.0

注:以上代碼將使所有網格線厚,你需要設定特殊的網格線的厚度/寬度按你的業務邏輯。