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
orを入れることができ1000.0f
、線は何があっても常に同じ幅です。
私は何が欠けているか、間違っていますか? 忍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
アプローチ1.f
するとバーが縮小しますが、設定0f
するとバーの高さが最小になり、それらの間のスペースは「大きい」ままになります。
より明確にするために: Y 軸の 0 から 4 に、異なる X 値を持つ 4 つのバーがあります。それぞれが多かれ少なかれ Y 値を中心にしています (それほど重要ではありませんが、現時点では重要ではありません)。たとえば、2 を中心とするバーは ~1.8 から ~2.2 になり、3 を中心とするバーは ~2.8 から ~3.2 になります。~1.55 から ~2.45 および ~2.55 から ~3.45 になるように、それらをより厚くします。それ、どうやったら出来るの?
編集 2 (画像):
実際:
望ましい(ペイントスキルがなくて申し訳ありません。それは、私がそれらをより厚くしたいことを示すための方法でした):