2015-05-12 3 views
3

Я пытаюсь настроить легенду, но не могу этого сделать. Моя цель - дать разные метки меток. Я использую библиотеку MPChart для этого.Как установить метки легенд MPChart

ArrayList<BarEntry> entries = new ArrayList<>(); 
    entries.add(new BarEntry(4f, 0)); 
    entries.add(new BarEntry(8f, 1)); 
    entries.add(new BarEntry(6f, 2)); 
    entries.add(new BarEntry(12f, 3)); 
    entries.add(new BarEntry(18f, 4)); 
    mColors.add(R.color.red); 
    mColors.add(R.color.text_color_gray); 
    mColors.add(R.color.text_color_blue); 
    mColors.add(R.color.green); 
    mColors.add(R.color.black); 
    BarDataSet dataset = new BarDataSet(entries, null); 
    ArrayList<String> labels = new ArrayList<String>(); 
    labels.add("05"); 
    labels.add("06"); 
    labels.add("07"); 
    labels.add("08"); 
    labels.add("09"); 
    BarData data = new BarData(labels, dataset); 
    Legend legend = mChart.getLegend(); 
    legend.setEnabled(true); 
    legend.setPosition(Legend.LegendPosition.BELOW_CHART_CENTER); 
    legend.setForm(Legend.LegendForm.SQUARE); 
    legend.setColors(mColors); 
    legend.setLabels(mLabels); 
    mChart.setData(data); 
    mChart.animateY(2000); 

    LimitLine line = new LimitLine(10f); 
    YAxis yAxis = mChart.getAxisLeft(); 
    yAxis.addLimitLine(line); 
    yAxis.setDrawAxisLine(true); 
    mChart.setDrawValueAboveBar(true); 
    mChart.setDrawBarShadow(false); 
    mChart.setVisibleXRange(4); 
    mChart.moveViewToX(2); 
    mChart.setDrawValueAboveBar(false); 
    mChart.invalidate(); 

Пожалуйста, дайте мне знать любые решения для этого.

+0

Вы можете быть более точными относительно того, что делает ваш код и что он должен делать? Вы говорите о ярлыках на оси? – JDenais

+0

@JDenais Я хочу установить метку легенды, а не метку на оси.Ex-Если я использовал 4 цвета, тогда я хочу показать 4 цвета в качестве легенды и их соответствующее значение легенды – swati

ответ

3

Если вы хотите иметь 4 метки легенды, вам нужны 4 объекта BarDataSet.

Наличие разных цветов будет группировать только разные цвета в одной легенде, которая будет сгенерирована.

И вам нужно передать цвета в DataSet, и он будет сопоставлен с легендой.

Наконец, вам DataSets нужна метка, которая будет использоваться для легенды. Вы можете указать метку в качестве второго параметра в конструкторе.

Смежные вопросы