如何禁用JFreeChart中XYPlot的垂直灰色交替条纹
问题原因
你使用的域轴是SymbolAxis类,该类默认会开启交替网格带渲染,也就是你看到的垂直灰色条纹。这个特性是SymbolAxis独有的,和XYPlot的域刻度带属性不互通,所以你调用xyplot.setDomainTickBandPaint(null)无法生效。
解决方法
在创建SymbolAxis实例后,调用setGridBandsVisible(false)关闭网格带即可,修改后的对应代码段如下:
XYDataset dataset = new XYSeriesCollection(series); // 原代码创建SymbolAxis SymbolAxis domain = new SymbolAxis(null, labels); // 新增这一行关闭交替灰色网格带 domain.setGridBandsVisible(false); NumberAxis verticalAxis = new NumberAxis(null); verticalAxis.setAutoRangeIncludesZero(false);
如果你需要保留domain变量的NumberAxis类型声明,也可以通过强制类型转换调用方法:
NumberAxis domain = new SymbolAxis(null, labels); ((SymbolAxis) domain).setGridBandsVisible(false);
修改后重新运行即可得到纯白背景的图表。
内容的提问来源于stack exchange,提问作者J Robes
相关产品推荐
相关产品推荐

