2011-07-05 42 views
5

Tôi đã phát triển một ứng dụng Android để hiển thị biểu đồ tròn. Tôi đã sử dụng thư viện achartengine để thực hiện việc này. Với mã này dưới đây tôi nhận được đầu ra biểu đồ hình tròn với 3 phần được dán nhãn như đã đề cập trong categorySeries. Tôi muốn hiển thị các giá trị phần trăm trên biểu đồ hình tròn. Tôi có thể làm cái này như thế nào?số hiển thị trên biểu đồ hình tròn

public static final GraphicalView getPieChartView(Context context, 
      CategorySeries dataset, DefaultRenderer renderer) { 
     checkParameters(dataset, renderer); 
     PieChart chart = new PieChart(dataset, renderer); 

     return new GraphicalView(context, chart); 
    } 

    private static void checkParameters(CategorySeries dataset, 
      DefaultRenderer renderer) { 
     if (dataset == null 
      || renderer == null 
      || dataset.getItemCount() != renderer 
       .getSeriesRendererCount()) { 
      throw new IllegalArgumentException(
        "Dataset and renderer should be not null and the dataset number of items should be equal to the number of series renderers"); 
     } 
    }  

và đây là phương pháp onCreate tôi

Bundle bundle = getIntent().getExtras(); 
int highc = bundle.getInt("high"); 
int lowc = bundle.getInt("low"); 
int medc = bundle.getInt("medium"); 



RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativestatsLayout); 
TextView message = (TextView) findViewById(R.id.statText); 
message.setText("\n\n\tTickets Summary"); 
message.setGravity(50); 
//layout.addView(message); 
//setContentView(message); 


int[] colors = new int[] { Color.rgb(255, 0, 0),Color.rgb(220, 51,51), Color.rgb(255, 191, 0) }; 
DefaultRenderer renderer = buildCategoryRenderer(colors); 

CategorySeries categorySeries = new CategorySeries("Tickets Chart"); 
categorySeries.getTitle(); 
categorySeries.add("critical", highc); 
categorySeries.add("major ", medc); 
categorySeries.add("minor ", lowc); 



layout.addView(getPieChartView(this, categorySeries, renderer)); 
} 

protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
    DefaultRenderer renderer = new DefaultRenderer(); 
    for (int color : colors) { 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(color); 

     renderer.addSeriesRenderer(r); 
    } 
    return renderer; 
} 
+0

tôi nhận được đầu ra Biểu đồ hình tròn với 3 phần có nhãn như đã đề cập trong categorySeries, tôi muốn để hiển thị tỷ lệ phần trăm trên biểu đồ hình tròn .. – TechnocraT

+0

có thể ai đó ít nhất đề xuất bằng cách lập biểu đồ api của android có thể điều này là có thể. – TechnocraT

Trả lời

1

Im không chắc chắn nếu bạn vẫn còn có vấn đề này. Nhưng nếu biểu đồ hình tròn của bạn khá đơn giản, bạn nên cân nhắc vẽ bản thân mình thay vì sử dụng thư viện cho nó. Điều này có thể giúp ích một chút.

https://github.com/blessenm/PieChartDemo

2

Có thể sử dụng achartengine. Tôi đã phải đối mặt với cùng một vấn đề và tìm thấy câu trả lời ngay bây giờ. Sử dụng phiên bản 1.1.0-rc2 của công cụ achart. Bạn có thể tải xuống tại đây: http://www.achartengine.org/download/

Hướng dẫn này (http://wptrafficanalyzer.in/blog/android-drawing-pie-chart-using-achartengine/) giúp bạn tạo biểu đồ hình tròn bằng cách sử dụng achartengine.

Thêm dòng này vào mã của bạn để hiển thị% của phân phối trong Biểu đồ hình tròn

defaultRenderer.setDisplayValues(true); 

tham khảo: How to set different values for Legend and Labels in piechart While I am using Chart Engine in android

Các vấn đề liên quan