如何在AchartEngine Android中设置轴的宽度和高度?
(1) 我想要X轴和Y轴的宽度和高度, (2) 我要X轴标签正确对齐 (3) 我想更改值文本的颜色,当前为橙色,我想要白色 我的代码是:如何在AchartEngine Android中设置轴的宽度和高度?,android,graph,charts,achartengine,Android,Graph,Charts,Achartengine,(1) 我想要X轴和Y轴的宽度和高度, (2) 我要X轴标签正确对齐 (3) 我想更改值文本的颜色,当前为橙色,我想要白色 我的代码是: private GraphicalView mView(Context ctx) { GraphicalView v = null; String[] titles = new String[] { "" }; List<double[]> values = new ArrayList<dou
private GraphicalView mView(Context ctx) {
GraphicalView v = null;
String[] titles = new String[] { "" };
List<double[]> values = new ArrayList<double[]>();
double[] mDoubleArray = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 };
String[] X_Axis_Lables = { "07:00", "08:00", "09:00", "10:00", "11:00",
"12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00",
"19:00", "20:00", "21:00", "22:00", "23:00", "00:00", "01:00",
"02:00", "03:00", "04:00", "05:00", "06:00", "07:00" };
values.add(mDoubleArray);
int color = getResources().getColor(R.color.actionbar_header_color);
int[] colors = new int[] { color };
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
setChartSettings(renderer, "", "", "", 0, mDoubleArray.length, 0, 1,
color, color, X_Axis_Lables);
renderer.getSeriesRendererAt(0).setDisplayChartValues(true);
renderer.setXLabels(0);
renderer.setYLabels(1);
renderer.setXLabelsAlign(Align.CENTER);
renderer.setYLabelsAlign(Align.LEFT);
renderer.setPanEnabled(false, false);
renderer.setZoomEnabled(false, false);
renderer.setZoomRate(0.0f);
renderer.setShowLegend(false);
renderer.setBarWidth(10);
renderer.setMarginsColor(getResources().getColor(
R.color.transparent_background));
renderer.setApplyBackgroundColor(true);
renderer.setBackgroundColor(Color.TRANSPARENT);
renderer.setXLabelsColor(getResources().getColor(R.color.gray));
renderer.setYLabelsColor(0, Color.GRAY);
v = ChartFactory.getBarChartView(ctx, buildBarDataset(titles, values),
renderer, Type.STACKED);
return v;
}
protected void setChartSettings(XYMultipleSeriesRenderer renderer,
String title, String xTitle, String yTitle, double xMin,
double xMax, double yMin, double yMax, int axesColor,
int labelsColor, String[] x_Axis_Lables) {
renderer.setChartTitle(title);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
for (int i = 0; i < x_Axis_Lables.length; i++) {
renderer.addXTextLabel(i + 1, x_Axis_Lables[i]);
}
renderer.setXLabelsAngle(270);
renderer.setLabelsTextSize(16);
renderer.setAxesColor(axesColor);
renderer.setLabelsColor(getResources().getColor(R.color.gray));
}
protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
return renderer;
}
protected XYMultipleSeriesDataset buildBarDataset(String[] titles,
List<double[]> values) {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
int length = titles.length;
for (int i = 0; i < length; i++) {
CategorySeries series = new CategorySeries(titles[i]);
double[] v = values.get(i);
int seriesLength = v.length;
for (int k = 0; k < seriesLength; k++) {
series.add(v[k]);
}
dataset.addSeries(series.toXYSeries());
}
return dataset;
}
private GraphicalView mView(上下文ctx){
GraphicalView v=null;
字符串[]标题=新字符串[]{”“};
列表值=新的ArrayList();
double[]mDoubleArray={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 };
字符串[]X_轴_标签={“07:00”、“08:00”、“09:00”、“10:00”、“11:00”,
"12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00",
"19:00", "20:00", "21:00", "22:00", "23:00", "00:00", "01:00",
"02:00", "03:00", "04:00", "05:00", "06:00", "07:00" };
添加(mDoubleArray);
int color=getResources().getColor(R.color.actionbar\u header\u color);
int[]colors=新的int[]{color};
XYMultipleReseriesRenderer渲染器=构建渲染器(颜色);
setChartSettings(渲染器,“”,“”,“”,0,mDoubleArray.length,0,1,
颜色、颜色、X_轴标签);
renderer.getSeriesRenderRat(0).setDisplayChartValues(true);
setXLabels(0);
1.setYLabels(1);
renderer.setxlabelsaling(Align.CENTER);
renderer.setYLabelsAlign(Align.LEFT);
renderer.setPanEnabled(false,false);
renderer.setZoomeEnabled(false,false);
渲染器.setZoomRate(0.0f);
渲染器.setShowLegend(false);
1.立根宽度(10);
renderer.setMarginsColor(getResources().getColor(
R.颜色。透明(背景);
renderer.setApplyBackgroundColor(true);
渲染器.setBackgroundColor(颜色.透明);
setXLabelsColor(getResources().getColor(R.color.gray));
渲染器.setYLabelsColor(0,Color.GRAY);
v=ChartFactory.getBarChartView(ctx、buildBarDataset(标题、值),
渲染器,类型。堆叠);
返回v;
}
受保护的void setChartSettings(XYMultipleSeriesRenderer渲染器,
字符串标题、字符串xTitle、字符串yTitle、双xMin、,
双X最大值,双Y最小值,双Y最大值,内轴颜色,
int labelsColor,字符串[]x_轴_标签){
.setChartTitle(标题);
renderer.setXTitle(xTitle);
渲染器.setytle(yTitle);
setXAxisMin(xMin);
setXAxisMax(xMax);
setYAxisMin(yMin);
setYAxisMax(yMax);
对于(int i=0;i
试试这个:
renderer.setAxesColor(Color.BLACK);
renderer.setLabelsColor(Color.BLACK);
renderer.setXLabelsColor(Color.BLACK);
renderer.setYLabelsColor(0,Color.BLACK);
renderer.setYAxisMax(200);
renderer.setXAxisMax(200);