我正在尝试生成一个条形图,但它迫使我通过从域轴计算标签的大小来控制宽度和高度,并在它们太大时导致问题(列值的开始位于图表的中间)。
你有什么建议吗?
谢谢你。
我正在尝试生成一个条形图,但它迫使我通过从域轴计算标签的大小来控制宽度和高度,并在它们太大时导致问题(列值的开始位于图表的中间)。
你有什么建议吗?
谢谢你。
您可以通过创建重新绘制图形的自定义画家来更改图表上的渲染器;Painter
代码似乎在这里无法正确显示。我用 awidthMultiplier
来控制条形的大小:
GradientXYBarPainter xyBarpainter = new GradientXYBarPainter() {
@Override
public void paintBar(Graphics2D g2, XYBarRenderer renderer, int row,
int column, RectangularShape bar, RectangleEdge base) {
Rectangle2D rect = bar.getFrame();
rect.setRect(rect.getX(), rect.getY(),
rect.getWidth() * widthMultiplier, rect.getHeight());
bar.setFrame(rect);
super.paintBar(g2, renderer, row, column, bar, base);
}
};
StackedXYBarRenderer rend = new StackedXYBarRenderer();
rend.setBarPainter(xyBarpainter);