如何去除JFreeChart直方图中的反光效果?
解决JFreeChart直方图柱子的白色反光条纹问题
要去除直方图柱子左侧的白色反光条纹(渐变效果),只需将柱子的填充设置为纯色并禁用JFreeChart默认的渐变渲染即可,具体操作如下:
获取直方图对应的渲染器
HistogramRenderer:HistogramRenderer renderer = (HistogramRenderer) plot.getRenderer();设置柱子为纯红色,并禁用渐变效果:
// 为指定系列设置纯红色填充 renderer.setSeriesPaint(0, Color.RED); // 移除渐变转换器,彻底关闭渐变渲染 renderer.setGradientPaintTransformer(null); // 可选:如果不需要柱子边框,可关闭边框绘制 renderer.setDrawBarOutline(false);
如果使用的是普通柱状图的BarRenderer,则可以直接调用禁用渐变的方法:
BarRenderer renderer = (BarRenderer) plot.getRenderer(); renderer.setSeriesPaint(0, Color.RED); renderer.setUseGradientPaint(false);
原理说明:JFreeChart默认会给柱子添加渐变填充来模拟立体感,通过移除渐变转换器或关闭渐变开关,就能让柱子使用纯色填充,消除左侧的白色反光条纹。
内容的提问来源于stack exchange,提问作者Brian Schack
相关产品推荐
相关产品推荐

