Apache POI调整图表首尾截断柱状条的类选择咨询
解决柱状图首尾柱子被截断的问题
要解决首尾柱状条被图表边界截断的问题,你需要使用**XDDFCategoryAxis类**(即代码中的bottomAxis对象)来调整分类轴(X轴)的边界范围,让柱子能完全显示在图表区域内。
具体调整方法
在创建并配置bottomAxis后,添加以下代码:
// 获取分类总数 int categoryCount = clientDataRequest.size(); // 设置分类轴的最小/最大值,给首尾柱子留出完整显示的空间 bottomAxis.setMinimum(-0.5); bottomAxis.setMaximum(categoryCount - 0.5);
原理说明
默认情况下,分类轴的范围是从0到分类总数-1,柱子以每个分类刻度为中心绘制(宽度为1),导致首尾柱子的一半超出轴的范围,被图表边界截断。通过将轴的范围调整为-0.5到分类总数-0.5,可以让所有柱子完全落在轴的可视范围内,避免被截断。
完整修改后的关键代码片段
XDDFCategoryAxis bottomAxis = chart.createCategoryAxis(AxisPosition.BOTTOM); bottomAxis.setTitle("Client Name"); // 添加轴边界调整代码 int categoryCount = clientDataRequest.size(); bottomAxis.setMinimum(-0.5); bottomAxis.setMaximum(categoryCount - 0.5); XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); leftAxis.setTitle("Value"); leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);
内容的提问来源于stack exchange,提问作者dcm50
相关产品推荐
相关产品推荐

