2016-03-31 2 views
2

Я использую библиотеку MPAndroidChart для рисования графиков (особенно LineCharts) в моем приложении.Графические научные данные в LineChart от MPAndroidChart

Чтобы нарисовать LineChart с указанной библиотекой сначала нам нужно создать записи и метка следующим образом:

// Getting LineChart 
    LineChart lineChart = (LineChart) rootView.findViewById(R.id.chart); 

    // Creating list of entry 
    ArrayList<Entry> entries = new ArrayList<>(); 

    // Creating labels 
    ArrayList<String> labels = new ArrayList<String>(); 

    // Fill entries and lables 
    entries.add(new Entry(326.422f, 0)); 
    entries.add(new Entry(8.36f, 1)); 
    entries.add(new Entry(6.5f, 2)); 
    entries.add(new Entry(2.37f, 3)); 
    entries.add(new Entry(18.13f, 4)); 
    entries.add(new Entry(9f, 5)); 

    labels.add("0"); 
    labels.add("1"); 
    labels.add("2"); 
    labels.add("3"); 
    labels.add("4"); 
    labels.add("5"); 

    // Create dataset 
    final LineDataSet dataset = new LineDataSet(entries, "Legend description"); 

    // Create LineData with labels and dataset prepared previously 
    LineData data = new LineData(labels, dataset); 

    // Set the data and list of labels into chart 
    lineChart.setData(data); 

Ok это работает, но дело в том, что если я хочу, чтобы построить график набора координат, как это: X = {(35.3, 22.9), (69.39, 27.36), (66.37, 31.697), (58.36, 36.32), (45.336, 38.296), (25.39, 40), (67.396, 43.633)}.

Конструктор Entry принимает число с плавающей запятой в качестве первого параметра и целого числа в качестве второго параметра, так как можно дать выше X набор к LineChart?

Кто-то может сказать, что я могу установить метки соответственно, например, первая метка может быть обозначена как «22.9», вторая - «27.36» и т. Д. Но это математически неправильно, так как график не масштабируется должным образом.

В документации я нашел классы, как Entry, BarEntry, BubbleEntry, CandleEntry но нет ничего что-то вроде LineEntry.

Может ли кто-нибудь указать мне в правильном направлении, как достичь этой цели?

Спасибо,

HSB

ответ

1

В настоящее время только целые числа поддерживаемых для оси х. Поэтому причина в том, что каждая строка на оси x должна соответствовать значению по оси y.

Это изменит в следующих release библиотеке, где оба значения будут изменены на double.

Новая версия должна быть выпущена в апреле.

+0

Ждем его! Для этой реализации вы работаете над веткой под названием «remove_xindices»? – HSB

+0

Да, точно. Я только что создал новую ветку. –

+0

Привет, Филипп, какие-либо обновления по этой проблеме? Большое спасибо. – HSB

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