JFreeChart组合图中修改Category Plot标签位置的方法咨询
JFreeChart CategoryPlot标签调整方案
1. 将标签移动到图表顶部
你提到的被遮挡标签为CategoryAxis的轴标题,1.0.19版本支持直接调整轴位置实现顶部显示,修改代码如下:
import org.jfree.chart.axis.AxisPosition; // ...原有代码 var xAxis = new CategoryAxis(title); // 新增配置:将X轴移动到绘图区顶部 xAxis.setPosition(AxisPosition.TOP); // 可选配置:调整标题与轴之间的间距,单位为点 xAxis.setAxisLabelOffset(4.0); CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);
调整后标题会跟随X轴显示在绘图区上方,不会被遮挡。
2. 多个组合子图标签垂直对齐
如果是CombinedRangeCategoryPlot下的多个子图需要标签对齐,给所有子图的CategoryAxis设置统一的固定预留宽度即可,避免不同长度的标签占用不同宽度导致错位:
// 每个子图的X轴都添加该配置,固定值可根据最长标签的长度调整 xAxis.setFixedDimension(35.0); // 若需要标签本身垂直排版,可添加以下配置 xAxis.setLabelAngle(-Math.PI / 2); // 弧度值,-90度对应文字从上到下垂直显示
以上所有API均兼容JFreeChart 1.0.19版本,无需升级即可生效。
内容的提问来源于stack exchange,提问作者Herberts Markūns
相关产品推荐
相关产品推荐

