解决方案 »
- 显示歌词就出错!为什么?
- git repo 得到android源代码问题
- 求助!!用sax 解析标签全为string的xml
- 100分 Android SeekBar问题
- android自动播放的实现。
- 关于TextView的问题
- 要来问这个 android意外停止
- 异常
- 怎样获得listview的第一个item?
- android开发中,如果一个按键足够大,划屏时,不小心手在按键里边,这时怎么实现划屏,而不触发按键事
- 求助,初学开发,异常了
- java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_ALLOC谁遇到过这个异常?
// 用于 保存点集数据 ,包括每条曲线的X,Y坐标
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();//使用与柱状图
RangeCategorySeries series = new RangeCategorySeries("步数");// 括号内为图表底部的文字
for (int k = 0; k < yvalues.length; k++) {
series.add(0, yvalues[k]);
}
dataset.addSeries(series.toXYSeries());
int[] colors = new int[] { Color.BLACK };// 青色蓝绿色
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
setChartSettings(renderer, "历史记录", "日期",
"步数", 0.5, 7.5, 0, maxstep+10, Color.BLACK, Color.LTGRAY,xvalues);// 画笔的颜色预先定义成浅灰色
return ChartFactory.getRangeBarChartView(this, dataset, renderer,
Type.DEFAULT);
}
protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(25);
renderer.setChartTitleTextSize(35);
renderer.setLabelsTextSize(25);
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 void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle,
String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor,
int labelsColor,String[] xvalues) {
renderer.setLabelsColor(Color.BLACK);
renderer.setXLabelsColor(Color.BLACK);
//renderer.setYLabelsColor(1,Color.BLACK);
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);
//数据大于七条,则X轴方向可以滑动
boolean b = false;
if(xvalues.length>7)
b = true;
renderer.setBarSpacing(0.1);//设置间距
renderer.setXLabels(0);//设置 X 轴不显示数字(改用我们手动添加的文字标签));//设置X轴显示的刻度标签的个数
renderer.setMarginsColor(Color.WHITE);//外部颜色
renderer.setBackgroundColor(Color.WHITE);//内部颜色
for(int i=0;i<xvalues.length;i++)
renderer.addXTextLabel(i+1,xvalues[i]);
renderer.setYLabels(10);// 设置合适的刻度,在轴上显示的数量是 MAX / labels
renderer.setMargins(new int[] { 30, 70, 10, 0 });//图形 4 边距 设置4边留白 设置图表的外边框
renderer.setYLabelsAlign(Align.RIGHT);//设置y轴显示的分列,默认是 Align.CENTER
renderer.setPanEnabled(b, false);//设置x方向可以滑动,y方向不可以滑动
renderer.setZoomEnabled(false,false);//设置x,y方向都不可以放大或缩小
SimpleSeriesRenderer r = renderer.getSeriesRendererAt(0);
r.setDisplayChartValues(true);//设置是否在主题上方显示值
r.setChartValuesTextSize(40);//柱体上方字的大小r.
r.setChartValuesSpacing(5);//柱体上方字的与柱体顶部的距离
r.setGradientEnabled(true);
r.setGradientStart(0, Color.LTGRAY);
r.setGradientStop((maxstep+10)/2, Color.GREEN);
}