Reputation: 923
I'm make a line chart using achartengin, I use this cord for get x and y values.so the broth x and y axis contain integer values
public GraphicalView getView(Context context)
{
(......)
TimeSeries series = new TimeSeries("Line1");
for( int i = 0; i < x.length; i++)
{
series.add(x[i], y[i]);
}
//allows more than 1 line to be added to linegraph
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series);
//customize lines
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
XYSeriesRenderer renderer = new XYSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
return ChartFactory.getLineChartView(context, dataset, mRenderer);
}
but i want to add string values for x axis without using integer value but the problem is
TimeSeries series = new TimeSeries("Line1");
for( int i = 0; i < x.length; i++)
{
series.add(x[i], y[i]);
}
the problem is`
series.add(x[i], y[i]);
must have two integer values
so for my requirement i use this cord to set string values for x axis
mRenderer.addXTextLabel(0, "Isuru");
(...)
then i get the x axis by overriding the pass integer values. and not it display very ugly like this
so how to over come this problem please help me.
Upvotes: 0
Views: 92
Reputation: 2170
You should setup following objects:
//renderer is XYMultipleSeriesRenderer;
renderer.setXAxisMin(xMin);//xMin = 0
renderer.setXAxisMax(xMax);//xMax = 4 or 5
this will make scale lower. Chart will show only 4 values instead of 6.
Also you can decrease text size of x labels
renderer.setLabelsTextSize(getResources().getDimensionPixelSize(R.dimen.label_text_size));
Upvotes: 2