You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Apache POI生成3D堆叠柱状图的图例及坐标轴标题字体大小

解决方案

你当前调用leftAxis.getOrAddTextProperties()修改的是左侧坐标轴的刻度标签字体,坐标轴标题、图表图例的字体属性需要单独针对对应对象设置,具体修改方式如下:

完整修改后的代码片段

XSSFSheet sheet = wb.getSheetAt(0);

// Bar chart coordinates
XSSFDrawing drawing = sheet.createDrawingPatriarch();
XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 37, 16, 47);

XSSFChart chart = drawing.createChart(anchor);

// configure axis properties
XDDFCategoryAxis bottomAxis = chart.createCategoryAxis(AxisPosition.BOTTOM);

XDDFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT);
leftAxis.setTitle("Call Duration");
// 新增:修改左侧坐标轴标题字体大小
leftAxis.getTitle().getOrAddTextProperties().setFontSize(8d);

// font size for left axis labels (ticks)
leftAxis.getOrAddTextProperties().setFontSize(8d);

leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);
leftAxis.setCrossBetween(AxisCrossBetween.BETWEEN);

XDDFChartData data = chart.createData(ChartTypes.BAR3D, bottomAxis, leftAxis);

// create legend
XDDFChartLegend legend = chart.getOrAddLegend();
legend.setPosition(LegendPosition.BOTTOM);
// 新增:修改图例字体大小
legend.getOrAddTextProperties().setFontSize(8d);

/*DATA ADDITION HERE*/

如果需要设置字体名称、加粗、斜体、颜色等其他文本属性,也可以通过上述getOrAddTextProperties()返回的XDDFTextProperties对象调用对应方法实现,该配置对3D类图表同样生效。

内容的提问来源于stack exchange,提问作者program_k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:45:01