У меня есть линейная диаграмма, как на рисунке ниже, и у меня есть метки X-Axis, нарисованные на каждом значении Y-оси. Как сейчас, это почти невозможно читать.mpandroidchart Плотность ярлыков X-Axis при увеличении
То, что я хочу, это метки оси X можно извлечь, как на этой фотографии ниже, так что не за каждый значение по оси Y, но только несколько из них, и когда я изменить масштаб изображения, остальные значений будет отображаться динамически.
Я в guidie под паром, но не нашел ничего об этой проблеме.
EDIT:
Мои варианты График
ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
dataSets.add(set1);
LineData lineData = new LineData(dataSets);
lineData.setDrawValues(false);
lineData.setHighlightEnabled(true);
chart.setData(lineData);
chart.setMaxVisibleValueCount(3);
// description
Description description = new Description();
description.setTextColor(ColorTemplate.VORDIPLOM_COLORS[2]);
description.setText("");
chart.setDescription(description);
// X-Axis
IAxisValueFormatter formatter = new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return x_data[(int)value];
}
@Override
public int getDecimalDigits() {
return 0;
}
};
chart.getXAxis().setValueFormatter(formatter);
chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
chart.getXAxis().setGranularity(1);
//chart.getXAxis().setGranularityEnabled(true);
//Y-Axis
chart.getAxisLeft().setAxisMinimum(0f);
chart.getAxisRight().setAxisMinimum(0f);
// avg line
Cursor avg = dbHelper.getAvg(id);
avg.moveToFirst();
if (avg.moveToFirst()) {
YAxis leftAxis = chart.getAxisLeft();
LimitLine ll = new LimitLine(avg.getFloat(0), "avg");
ll.setLineColor(Color.BLUE);
ll.setLineWidth(0.3f);
ll.setTextColor(Color.BLACK);
ll.setTextSize(6f);
leftAxis.addLimitLine(ll);
}
chart.invalidate();
Ничего действительно не происходит после этой строки, все еще отображаются 9 значений XAxis. – relliz
Вы уменьшаете значение? –
Да, да. Отредактировано мое сообщение с моими параметрами диаграммы. Любой sugestion? – relliz