設計師送我的圖表看起來像這樣:如何使MPAndroidChart背景像這樣?
但我不知道如何使背景像,becase的這個圖表背景有,你可以看到兩種不同的顏色,對於每一個變化圖表項目。
這裏是我的結果:
可能使圖表背景的設計師製作的呢?
設計師送我的圖表看起來像這樣:如何使MPAndroidChart背景像這樣?
但我不知道如何使背景像,becase的這個圖表背景有,你可以看到兩種不同的顏色,對於每一個變化圖表項目。
這裏是我的結果:
可能使圖表背景的設計師製作的呢?
您可以繪製組合圖表[see this]。
你提到了一個繪製圖的技巧。在組合圖表中,繪製具有最大值的條形圖並根據需要設置顏色。
我想@abhinav意思是這樣的:
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chart);
//
// configure chart
final CombinedChart chart = (CombinedChart) findViewById(R.id.chart);
// prepare labels on x-axis
final List<String> labels = new ArrayList<>();
labels.add("MAY 22");
labels.add("MAY 23");
labels.add("MAY 24");
labels.add("MAY 25");
labels.add("MAY 26");
labels.add("MAY 27");
labels.add("MAY 28");
// prepare data for line graph
final List<Entry> ratesEntries = new ArrayList<>();
ratesEntries.add(new Entry(85f, 0));
ratesEntries.add(new Entry(75f, 1));
ratesEntries.add(new Entry(15f, 2));
ratesEntries.add(new Entry(40f, 3));
ratesEntries.add(new Entry(75f, 4));
ratesEntries.add(new Entry(60f, 5));
ratesEntries.add(new Entry(0f, 6));
final List<ILineDataSet> ratesDatasets = new ArrayList<>();
ratesDatasets.add(createRatesDataset(ratesEntries));
// prepare data for bar graph
final BarData periodBarData = new BarData(labels);
List<BarEntry> periodEntries;
periodEntries = new ArrayList<>();
periodEntries.add(new BarEntry(100f, 0));
periodEntries.add(new BarEntry(100f, 2));
periodEntries.add(new BarEntry(100f, 4));
periodEntries.add(new BarEntry(100f, 6));
BarDataSet periodDataset;
periodDataset = new BarDataSet(periodEntries, null);
periodDataset.setColor(Color.parseColor("#ccd2c0ff")); // transparency 80%
periodDataset.setDrawValues(false);
periodDataset.setBarSpacePercent(0);
periodBarData.addDataSet(periodDataset);
periodEntries = new ArrayList<>();
periodEntries.add(new BarEntry(100f, 1));
periodEntries.add(new BarEntry(100f, 3));
periodEntries.add(new BarEntry(100f, 5));
periodDataset = new BarDataSet(periodEntries, null);
periodDataset.setColor(Color.parseColor("#ccc0daff")); // transparency 80%
periodDataset.setDrawValues(false);
periodDataset.setBarSpacePercent(0);
periodBarData.addDataSet(periodDataset);
// prepare data for combined chart
final CombinedData data = new CombinedData(labels);
data.setData(new LineData(labels, ratesDatasets));
data.setData(periodBarData);
chart.setData(data);
}
private ILineDataSet createRatesDataset(final List<Entry> entries) {
final LineDataSet d = new LineDataSet(entries, null);
d.setColor(Color.BLUE);
d.setLineWidth(2.5f);
d.setCircleColor(Color.BLUE);
d.setCircleRadius(5f);
d.setFillColor(Color.BLUE);
d.setDrawCubic(true);
d.setDrawValues(false);
d.setValueTextSize(10f);
d.setValueTextColor(Color.BLUE);
d.setAxisDependency(YAxis.AxisDependency.LEFT);
return d;
}
注意,酒吧alpha通道有80%(詳細信息請看這裏:How to make a background 20% transparent on Android)。
在您添加圖表的鏈接看起來不像我的。你能爲我的背景添加示例代碼嗎? – Zookey
您可以使用兩個BarDataSet繪製條形圖併爲這些組賦予不同的顏色。另外,將條之間的間距設置爲0f。你會得到相同的背景。 – abhinav
編寫代碼示例,我會接受你的回答。 – Zookey