【发布时间】:2014-08-25 09:15:17
【问题描述】:
我正在尝试使用 Shinobi 设置 BarSeries 条的宽度。 代码如下:
DataAdapter<String, Double> da1 = new SimpleDataAdapter<String, Double>();
da1.add(new DataPoint<String, Double>("q1", 1.0));
da1.add(new DataPoint<String, Double>("q2", 3.0));
da1.add(new DataPoint<String, Double>("q3", 4.5));
da1.add(new DataPoint<String, Double>("q4", -2.5));
BarSeries series1 = new BarSeries();
series1.setDataAdapter(da1);
BarSeriesStyle css1 = series1.getStyle();
css1.setLineWidth(180.0f);
css1.setAreaColor(Color.YELLOW);
CategoryAxis xAxis = new CategoryAxis();
chart.setXAxis(xAxis);
xAxis.getStyle().setInterSeriesPadding(0.2f);
NumberAxis yAxis = new NumberAxis();
chart.setYAxis(yAxis);
yAxis.getStyle().setInterSeriesPadding(0.2f);
chart.addSeries(series1);
发生的情况是 css1.setLineWidth(180.0f); 行被完全忽略。我可以输入1.0f 或1000.0f,不管怎样,线条总是相同的宽度。
我错过了什么,或者做错了什么?我正在使用 shinobi 1.5.1。
编辑:ColumnSeries 也是如此:
ColumnSeries cs = new ColumnSeries();
DataAdapter<Float, Integer> adapterAxis = new SimpleDataAdapter<Float, Integer>();
adapterAxis.add(new DataPoint<Float, Integer>(0f, 3));
cs.getStyle().setLineColor(Color.BLACK);
cs.getStyle().setLineWidth(1f);
cs.setDataAdapter(adapterAxis);
1f 或 20f,没有任何变化。
chart.addSeries(cs);
编辑:按照凯的回答。
我尝试使用setInterSeriesPadding,但它不能满足我的需要高度和它们之间的空间将保持“大”。
为了更清楚:我在 Y 轴上的 0 到 4 处有 4 个条,具有不同的 X 值。每一个都或多或少以 Y 值为中心(不是真的,但现在并不重要)。例如。以 2 为中心的条形将从 ~1.8 变为 ~2.2,以 3 为中心的条将从 ~2.8 变为 ~3.2。我希望它们更厚,以便它们从 ~1.55 到 ~2.45 和从 ~2.55 到 ~3.45。我该怎么做?
编辑 2(图像):
实际:
渴望(抱歉我缺乏绘画技巧,这只是表明我希望它们更厚的一种方式):
【问题讨论】: