android 图表基本属性方法设置
renderer.setXLabelsAlign(Paint.Align.CENTER);//标签名称在中间位置
renderer.setXLabelsPadding(10);//设置 X 标签名称 padding 位置
renderer.setXLabelsColor(Color.BLACK);//设置 X 标签名称的颜色
renderer.setXRoundedLabels(true);
renderer.setYLabelsColor(0, Color.BLACK);//设置 Y 标签名称的颜色
renderer.setYLabelsAlign(Paint.Align.RIGHT);//设置 Y 轴标签的位置
renderer.setYLabelsPadding(10);//设置 Y 标签名称 padding 位置
// if (mChartView == null) {// 构建柱形图
// mChartView = ChartFactory.getBarChartView(mView.getContext(),
//
buildBarDataset(titles, values), renderer, Type.DEFAULT);
// renderer.setClickEnabled(true);
//
// //renderer.set
// barChart.addView(mChartView, new LayoutParams(
// LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
// } else
// mChartView.repaint();
}
/**
@param colors
@return
*/
private XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);// 坐标轴标题字体大小:16
renderer.setChartTitleTextSize(20);// 图表标题字体大小:20
renderer.setLabelsTextSize(15);// 轴标签字体大小: 15
renderer.setLegendTextSize(15);// 图例字体大小: 15
// renderer.setBackgroundColor(Color.parseColor("#A7CFE8"));
renderer.setMarginsColor(Color.parseColor("#ffffff"));//更改图的背景颜色
int length = colors.length;
for (int i = 0; i < length; i++) {
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
return renderer;
}
/**
@param renderer
@param title 柱形图标题
@param xTitle 横轴(X 轴)
@param yTitle 纵轴(Y 轴)
@param xMin X 轴最小的伸所刻度
@param xMax X 轴最大的伸所刻度
@param yMin Y 轴最小的伸所刻度
@param yMax Y 轴最大的伸所刻度
@param axesColor 设置 y 轴和 X 轴的颜色
@param labelsColor 设置 y 轴标签和 X 轴标签,字体的颜色及图名称的颜色
*/
private 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);//横轴(X 轴)名称
renderer.setYTitle(yTitle);//纵轴(Y 轴)名称
renderer.setXAxisMin(xMin);//X 轴最小的伸所刻度
renderer.setXAxisMax(xMax);//X 轴最大的伸所刻度
renderer.setYAxisMin(yMin);//Y 轴最小的伸所刻度
renderer.setYAxisMax(yMax);//Y 轴最大的伸所刻度
renderer.setAxesColor(axesColor);//设置 y 轴和 X 轴的颜色
renderer.setLabelsColor(labelsColor);//设置 y 轴标签和 X 轴标签,字体的颜色及图名称的颜色
}
/**
@param titles
@param values 柱形图的数据源和饼图差不多,也是由一些键值对组成
@return
*/
private 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]);
}
评论