Android 删除achartengine图形中y轴的十进制值
我想删除achartengine图形库中Y轴上的十进制数,如下所示: 代码:Android 删除achartengine图形中y轴的十进制值,android,achartengine,Android,Achartengine,我想删除achartengine图形库中Y轴上的十进制数,如下所示: 代码: public GraphicalView createIntent(List<double[]> values, float height_) { height_ = (float) (height_ + 0.4); String[] titles = new String[] { "Assignments" }; int[] colors = new
public GraphicalView createIntent(List<double[]> values, float height_) {
height_ = (float) (height_ + 0.4);
String[] titles = new String[] { "Assignments" };
int[] colors = new int[] { getResources().getColor(
R.color.color_ff83ba20) };
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
renderer.setOrientation(Orientation.HORIZONTAL);
if (height_ < 0)
height_ = 1;
setChartSettings(renderer, " ", " ", " ", 0, 5, 0, height_,
Color.BLACK, Color.BLACK);
renderer.setXLabels(0);
renderer.setYLabels(10);
renderer.setYLabelsPadding(10);
renderer.setMargins(new int[] { 50, 50, 10, 10 });
renderer.setInScroll(true); // for inscoroll
renderer.setClickEnabled(true);
renderer.setSelectableBuffer(100); // for fixed chart
int length = renderer.getSeriesRendererCount();
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer seriesRenderer = renderer
.getSeriesRendererAt(i);
// seriesRenderer.setDisplayChartValues(true);
}
final GraphicalView grfv = ChartFactory.getBarChartView(getActivity(),
buildBarDataset(titles, values), renderer, Type.STACKED);
return grfv;
}
protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(13);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(13);
renderer.setLegendTextSize(13);
renderer.setBarSpacing(0.6);
renderer.setShowGridX(true);
renderer.setShowGridY(true);
renderer.setGridColor(getResources().getColor(R.color.color_0dffffff));
renderer.setMarginsColor(getResources().getColor(R.color.color_eeeded));
renderer.setXLabelsColor(getResources().getColor(R.color.color_black));
renderer.setYLabelsColor(0, getResources()
.getColor(R.color.color_black));
renderer.setBarWidth(60);
renderer.setApplyBackgroundColor(true);
renderer.setBackgroundColor(getResources().getColor(
R.color.color_fbfbfc));
renderer.setMarginsColor(getResources().getColor(R.color.color_fbfbfc));
renderer.setInScroll(true); // for inscoroll
renderer.setClickEnabled(true);
renderer.setSelectableBuffer(100); // for fixed chart
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
r.setChartValuesSpacing(15);
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]);
// series.add(v[k]);
}
XYSeries d = series.toXYSeries();
if (values.get(i)[0] > 0)
d.addAnnotation((int) (values.get(i)[0]) + "", 1,
values.get(i)[0] + 0.05);
if (values.get(i)[1] > 0)
d.addAnnotation((int) (values.get(i)[1]) + "", 2,
values.get(i)[1] + 0.05);
if (values.get(i)[2] > 0)
d.addAnnotation((int) (values.get(i)[2]) + "", 3,
values.get(i)[2] + 0.05);
if (values.get(i)[3] > 0)
d.addAnnotation((int) (values.get(i)[3]) + "", 4,
values.get(i)[3] + 0.05);
// d.addAnnotation("hi", 3.4, 5);
// d.addAnnotation("hi", 4.4, 4);
dataset.addSeries(d);
}
return dataset;
}
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.setYLabelsAlign(Align.RIGHT);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
renderer.setMargins(new int[] { 10, 65, 10, 0 });
renderer.setAxesColor(axesColor);
renderer.setLabelsColor(Color.BLACK);
renderer.setInScroll(true); // for inscoroll
renderer.setClickEnabled(true);
renderer.setSelectableBuffer(100); // for fixed chart
}
公共图形视图createIntent(列表值、浮动高度){
高度=(浮动)(高度+0.4);
字符串[]标题=新字符串[]{“分配”};
int[]colors=newint[]{getResources().getColor(
R.color.color_ff83ba20)};
XYMultipleReseriesRenderer渲染器=构建渲染器(颜色);
渲染器.setOrientation(方向.水平);
如果(高度<0)
高度=1;
setChartSettings(渲染器,“”,“”,“”,0,5,0,高度,
颜色。黑色,颜色。黑色);
setXLabels(0);
1.setYLabels(10);
渲染器。Setylabelspading(10);
setMargins(新的int[]{50,50,10,10});
renderer.setInScroll(true);//用于inscoroll
renderer.setClickEnabled(true);
renderer.setSelectableBuffer(100);//用于固定图表
int length=renderer.getSeriesRenderCount();
for(int i=0;i任何帮助都将不胜感激 轴值根据范围值动态生成 一种解决方案可能是删除默认标签,然后添加如下自定义标签:
renderer.addYTextLabel(y, y + "");
其中y是一个整数值。我的y轴值是动态生成的。为什么你不想将其转换为整数?是的,我想这样,但在0.7的情况下,它将转换为0,我不想让0显示你在这种情况下期望设置的值。只需设置条件,如果值大于0.5,则整数值应为1或u还有一个问题,我想在条中间画注释,但当我把标签颜色设为白色时,它是不可见的,而当我把黑色设为可见时,它的一部分是可见的,我不需要注释