Смещение меток по оси абсциссин по сравнению со значениями
Я заметил, что Xlabels моего Timechart не синхронизированы со значениями X. Точки должны быть прямо над метками. С левой стороны все нормально, но смещается вправо. Я не знаю, как решить эту проблему. Что я получаю: http://tinypic.com/r/2uqj905/7 Как это должно быть: http://www.achartengine.org/dimages/average_temperature.png Я попробовал линейный график или преобразовал дату в двойную, но это не имело никакого эффекта. Любая помощь будет хорошей.
С уважением, Кристиан
Это часть моего кода:
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
renderer.setPointSize(5.5f);
renderer.setZoomEnabled(false, false);
renderer.setMarginsColor(Color.parseColor("#00FF0000"));
renderer.setAxisTitleTextSize(16);
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setMargins(new int[] { 10, 65, 18, 10 });
int length = renderer.getSeriesRendererCount();
for (int i = 0; i < length; i++) {
XYSeriesRenderer seriesRenderer = (XYSeriesRenderer) renderer
.getSeriesRendererAt(i);
seriesRenderer.setFillPoints(true);
seriesRenderer.setLineWidth(4.0f); // dikte van lijn
}
MinMax minMax = determineMinMax(targetSteps, samples);
setChartSettings(renderer, context.getString(R.string.graph_title),
dateLabelOnScreenType(type),
context.getString(R.string.graph_y_axis), minMax.minX,
minMax.maxX, minY, maxY, Color.WHITE,
Color.BLACK);
renderer.setXLabels(7);
renderer.setYLabels(0);
renderer.setDisplayChartValues(false);
renderer.setShowGrid(true);
renderer.setPanEnabled(false, false);
// set the data
String[] titles = new String[] {
context.getString(R.string.graph_legend_target),
context.getString(R.string.graph_legend_actual) };
XYMultipleSeriesDataset dataSet = buildDateDataset(titles,
xSeriesList,
ySeriesList);
TimeChart chart = new TimeChart(dataSet, renderer);
chart.setDateFormat(dateFormatOnSampleType(type));
GraphicalView gview = new GraphicalView(context, chart);
2 ответа
renderer.setYLabelsAlign(Align.RIGHT);
Изменить на:
renderer.setYLabelsAlign(Align.CENTER);
Решение этого было добавлено недавно. Просто позвони:
renderer.setXRoundedLabels(false)