2017-02-22 20 views
0

Мне нужно сделать график, и я могу это сделать, но я не могу изменить значение по оси x и y.Как поставить собственное значение в графе по оси x и оси y

Это я разработал до сих пор

https://i.stack.imgur.com/W0AvS.png 

использовать это для создания диаграммы https://github.com/lecho/hellocharts-android

здесь код

<lecho.lib.hellocharts.view.ColumnChartView 
         android:id="@+id/chart" 

         android:layout_margin="@dimen/activity_horizontal_margin" 
         android:layout_marginTop="50dp" 
         android:layout_width="match_parent" 
         android:layout_height="150dp" /> 



private void generateDefaultData() { 
     int numSubcolumns = 2; 
     int numColumns = 6; 
     // Column can have many subcolumns, here by default I use 1 subcolumn in each of 7 columns. 
     List<Column> columns = new ArrayList<Column>(); 
     List<SubcolumnValue> values; 


     for (int i = 0; i < numColumns; ++i) { 

      values = new ArrayList<SubcolumnValue>(); 
      for (int j = 0; j < numSubcolumns; ++j) { 
       if(j==1) { 
        values.add(new SubcolumnValue(2, -13388315)); 
       } 
       else{ 
        values.add(new SubcolumnValue(6, -5609780)); 

       } 
       } 

      Column column = new Column(values); 
      // column.setHasLabels(hasLabels); 
      // column.setHasLabelsOnlyForSelected(hasLabelForSelected); 
      columns.add(column); 
     } 

     data = new ColumnChartData(columns); 

     if (hasAxes) { 
      Axis axisX = new Axis(); 
      Axis axisY = new Axis().setHasLines(true); 
      if (hasAxesNames) { 
       axisX.setName("Days"); 
       axisY.setName("Y Axis"); 
      } 
      data.setAxisXBottom(axisX); 
      data.setAxisYLeft(axisY); 
     } else { 
      data.setAxisXBottom(null); 
      data.setAxisYLeft(null); 
     } 

     Chart.setColumnChartData(data); 
     // prepareDataAnimation(); 
     //Chart.startDataAnimation(); 

    } 

То, что я хочу, я хочу, левая ось, чтобы показать только 1 , 3,5,7 и ось y, чтобы показать день 1, день 2, день3 день4, день5, день6. Как я могу это достичь?

ответ

0

Я знаю его покой. Но вот решение. вы можете использовать список AxisValue установить ось Х или Y-ось значений

List<AxisValue> axisValues = new ArrayList<>(); 
Axis axisY = new Axis(); 

axisValues.add(new AxisValue(0).setLabel("day 1")); 
axisY.setValues(axisValues); 
data.setAxisYLeft(axisY); 
+0

** Из очереди обзора **: Могу ли я просить вас, пожалуйста, добавить еще некоторый контекст вокруг вашего ответа. Кодовые ответы трудно понять. Это поможет читателю и будущим читателям, если вы сможете добавить дополнительную информацию в свой пост. – RBT