我必须制作图表,但我能够做到,但我无法更改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 :(得分:0)
我知道它迟到了。但这是解决方案。 您可以使用AxisValue列表来设置x轴或y轴值
List<AxisValue> axisValues = new ArrayList<>();
Axis axisY = new Axis();
axisValues.add(new AxisValue(0).setLabel("day 1"));
axisY.setValues(axisValues);
data.setAxisYLeft(axisY);