Android 浮动杆上的阿卡捷因零点
我用achartengine开发了一个浮动条形图。图表需要显示非零图表值。i、 e.零图表值在Y轴上为零,客户希望将其删除。我在api中没有看到只删除一个的方法。代码作为屏幕截图附在后面。感谢所有的帮助。谢谢 此链接上有一张图片:Android 浮动杆上的阿卡捷因零点,android,achartengine,Android,Achartengine,我用achartengine开发了一个浮动条形图。图表需要显示非零图表值。i、 e.零图表值在Y轴上为零,客户希望将其删除。我在api中没有看到只删除一个的方法。代码作为屏幕截图附在后面。感谢所有的帮助。谢谢 此链接上有一张图片: { 公共图形视图getChart(上下文上下文、双[]最小值、双[]最大值、字符串[]条形标签、字符串chartTitle){ XYmultiplesseriesdataset数据集=新的XYmultiplesseriesdataset(); RangeCatego
{
公共图形视图getChart(上下文上下文、双[]最小值、双[]最大值、字符串[]条形标签、字符串chartTitle){
XYmultiplesseriesdataset数据集=新的XYmultiplesseriesdataset();
RangeCategorySeries=新的RangeCategorySeries(“”);
int length=minValues.length;
双最小值=0,最大值=0;
对于(int k=0;k 对于(int i=0;i您使用的是哪个版本的AChartEngine?AChartEngine-1.1.0.jar这是不支持的。您可能需要自己在ACE中添加这方面的逻辑。您能指出在类似于条形图的模型上从何处开始吗?例如renderer.setXLabels(N)?您知道5月15日版本1.1.0是否满足了这一需求?如果不知道,是否需要遵循特定的jar创建过程,或者标准的java one是否可以工作?谢谢
{
public GraphicalView getChart(Context context, double[] minValues, double[] maxValues, String [] barLabels, String chartTitle) {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
RangeCategorySeries series = new RangeCategorySeries("");
int length = minValues.length;
double min=0, max=0;
for (int k = 0; k < length; k++) {
//System.out.println("series:"+minValues[k]+" "+maxValues[k]);
min = Double.parseDouble(df2.format(minValues[k]));
max = Double.parseDouble(df2.format(maxValues[k]));
series.add( min, max);
}
dataset.addSeries(series.toXYSeries());
int[] colors = new int[] { Color.CYAN };
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
setChartSettings(renderer, chartTitle, "", "Strokes Gained", 0.5, barLabels.length+1, (yMin), yMax, Color.GRAY, Color.LTGRAY);
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth(); // deprecated
//int height = display.getHeight(); // deprecated
//System.out.println("width1:"+width+" "+height);
LayoutParams params = layout.getLayoutParams();
int height = params.height;
//System.out.println("width2:"+width+" "+height+" "+params.width+" "+params.height);
layout.setLayoutParams(new LinearLayout.LayoutParams((int)(width*.95), height));
//int height = display.getHeight(); // deprecated
renderer.setPanEnabled(false, false);
renderer.setBarSpacing(0.5);
renderer.setXLabels(0);
renderer.setYLabels(10);
for (int i=0;i<barLabels.length;i++)renderer.addXTextLabel(i+1, barLabels[i]);
renderer.setInScroll(true);
renderer.setMargins(new int[] {30, 70, 10, 0});
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setShowGrid(true);
renderer.setPanLimits(new double[] { -10, 20, -10, 40 });
renderer.setZoomLimits(new double[] { -10, 20, -10, 40 });
XYSeriesRenderer r = (XYSeriesRenderer) renderer.getSeriesRendererAt(0);
r.setShowLegendItem(false);
r.setDisplayChartValues(true);
r.setChartValuesTextSize(ChartValuesTextSize); // change to 20
r.setChartValuesSpacing(3);
r.setGradientEnabled(true);
r.setGradientStart((yMin), Color.RED);
r.setGradientStop(yMax, Color.GREEN);
r.setChartValuesFormat(dfvalues);
return ChartFactory.getRangeBarChartView(context, dataset, renderer, Type.DEFAULT );
}