[英]How to set date on x axis in Line Chart using AchartEngine?
I have tried various link posted on SO,but not got reliable answer. 我已尝试在SO上发布各种链接,但没有得到可靠的答案。
Here is my code : 这是我的代码:
TimeSeries series = new TimeSeries("Burned Calories");
for (int i = 0; i < x_axis.size(); i++) {
String date = x_axis.get(i);
int y = Integer.parseInt(y_axis.get(i));
Date d;
try {
d = df.parse(date);
series.add(d, y);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series);
XYSeriesRenderer render = new XYSeriesRenderer();
render.setColor(Color.GREEN);
render.setPointStyle(PointStyle.SQUARE);
render.setFillPoints(true);
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.addSeriesRenderer(render);
renderer.setChartTitle("Line Chart");
renderer.setAxesColor(Color.BLUE);
renderer.setGridColor(Color.WHITE);
renderer.setShowGrid(true);
renderer.setShowAxes(true);
renderer.setShowGridX(true);
renderer.setShowGridY(true);
renderer.setShowLabels(true);
renderer.setPanEnabled(true, true);
renderer.setFitLegend(true);
renderer.setXTitle("Date");
renderer.setAxisTitleTextSize(15);
renderer.setXLabelsAlign(Align.CENTER);
renderer.setYTitle("Values");
chart = ChartFactory.getLineChartView(this, dataset, renderer);
I am getting strange values on x axis. 我在x轴上得到奇怪的值。
Any Help would be appreciated. 任何帮助,将不胜感激。
These are basic changes i made in my code and it worked for me.. 这些是我在我的代码中所做的基本更改,它对我有用..
TimeSeries series2 = new TimeSeries("Protein");
for (int i = 0; i < x_axis.size(); i++) {
int y = Integer.parseInt(y1_axis.get(i));
// Adding y as protein value
series2.add(i + 1, y);
}
for (int i = 0; i < x_axis.size(); i++) {
renderer.addXTextLabel(i + 1, x_axis.get(i));
}
renderer.setXLabels(0);
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
After that add below code ... Set below figure as per your requirements... 之后添加以下代码...根据您的要求设置下图...
String MainTitle = "Graph";
String XTitle = "Date";
String YTitle = "Values";
float minValueX = 0.0f;
float maxValueX = 30.00f;
float minValueY = 0f;
float maxValueY = 50f;
setChartSettings(renderer, MainTitle, XTitle, YTitle, minValueX,
maxValueX, minValueY, maxValueY, Color.BLACK, Color.BLACK);
protected void setChartSettings(XYMultipleSeriesRenderer renderer,
String title, String xTitle, String yTitle, double xMin,
double xMax, double yMin, double yMax, int axesColor,
int labelsColor) {
renderer.setChartTitle(title);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
renderer.setAxesColor(axesColor);
renderer.setLabelsColor(labelsColor);
}
On Chartengine show date or month only numeric figure so you are set numeric and set label date... As show date on x axis not sure but i thik not provide by chart engine 在Chartengine显示日期或月份只有数字图,所以你设置数字和设置标签日期...作为x轴上的显示日期不确定但我不提供图表引擎
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.