2014-10-01 45 views

回答

2

您可以通過將setDrawLegend屬性設置爲false來實現。

無論你初始化你的餅圖只需添加以下行:

pieChart.setDrawLegend(false); 

[編輯]

關於改變顏色,這是你可以做什麼:

這一切首先是發生當你添加一些數據到你的圖表。添加數據時,您將一個PieData對象添加到圖表。這個PieData對象需要2個參數,名稱和值。名稱列表是字符串的ArrayList,但值必須是PieDataSet對象的實例。這是您可以添加顏色並添加其他屬性(例如切片之間的間距)的位置。另外,PieDataSet對象包含了一個集合的Y值和標籤。最後,PieDataSet的值是Entry對象的ArrayList。一個Entry對象取值顯示,它是圖表上的索引。

下面是一個簡單的DEMO源代碼,說明上面的簡短描述:

ArrayList<Entry> yChartValues = new ArrayList<Entry>(); 
int[] chartColorsArray = new int[] { 
     R.color.clr1, 
     R.color.clr2, 
     R.color.clr3, 
     R.color.clr4, 
     R.color.clr5 
}; 

// These are the 2 important elements to be passed to the chart 
ArrayList<String> chartNames = new ArrayList<String>(); 
PieDataSet chartValues = new PieDataSet(yChartValues, ""); 

for (int i = 0; i < 5; i++) { 
    yChartValues.add(new Entry((float) i*2, i)); 
    chartNames.add(String.valueOf(i)); 
} 

chartValues.setSliceSpace(1f); // Optionally you can set the space between the slices 
chartValues.setColors(ColorTemplate.createColors(this, chartColorsArray)); // This is where you set the colors. The first parameter is the Context, use "this" if you're on an Activity or "getActivity()" if you're on a fragment 

// And finally add all these to the chart 
pieChart.setData(new PieData(chartNames, chartValues)); 

這是否幫助?

編輯2:

這是你如何改變餅片內的文本的顏色:

PieChart pieChart = ...; 

// way 1, simply change the color: 
pieChart.setValueTextColor(int color); 

// way 2, acquire the whole paint object and do whatever you want  
Paint p = pieChart.getPaint(Chart.PAINT_VALUES); 
p.setColor(yourcolor); 

我知道這是不是一個理想的解決方案,但它應該工作現在。

+0

你能回答我編輯的問題的第二部分嗎? – Vahan 2014-10-01 11:02:08

+1

當然,我只是更新了我的答案。希望它可以幫助你。快樂的編碼! – Mike 2014-10-01 12:46:34

+0

謝謝,但您的解決方案是更改圖表值的顏色,但我只需更改圖表名稱的文本顏色 – Vahan 2014-10-02 05:19:56