在 C++ 中格式化演示文稿图表
Contents
[
Hide
]
格式图表实体
Aspose.Slides for C++ 让开发人员可以从头开始向幻灯片添加自定义图表。本文介绍了如何格式化不同的图表实体,包括图表类目轴和数值轴。
Aspose.Slides for C++ 提供了一个简易的 API,用于管理各种图表实体并使用自定义值进行格式化:
- 创建 Presentation 类的实例。
- 按索引获取幻灯片的引用。
- 添加带有默认数据的图表,并指定所需的类型(本例使用 ChartType.LineWithMarkers)。
- 访问图表的数值轴并设置以下属性:
- 为数值轴主网格线设置 Line format
- 为数值轴次网格线设置 Line format
- 为数值轴设置 Number Format
- 为数值轴设置 Min, Max, Major and Minor units
- 为数值轴数据设置 Text Properties
- 为数值轴设置 Title
- 为数值轴设置 Line Format
- 访问图表的类目轴并设置以下属性:
- 为类目轴主网格线设置 Line format
- 为类目轴次网格线设置 Line format
- 为类目轴数据设置 Text Properties
- 为类目轴设置 Title
- 为类目轴设置 Label Positioning
- 为类目轴标签设置 Rotation Angle
- 访问图表图例并为其设置 Text Properties
- 设置显示图例且不与图表重叠
- 访问图表的 Secondary Value Axis 并设置以下属性:
- 启用次要 Value Axis
- 为次要数值轴设置 Line Format
- 为次要数值轴设置 Number Format
- 为次要数值轴设置 Min, Max, Major and Minor units
- 将第一条图表系列绘制在次要数值轴上
- 将图表背墙填充颜色
- 为图表绘图区域填充颜色
- 将修改后的演示文稿写入 PPTX 文件
为图表设置字体属性
Aspose.Slides for C++ 支持为图表设置与字体相关的属性。请按以下步骤为图表设置字体属性。
- 实例化 Presentation 类对象。
- 在幻灯片上添加图表。
- 设置字体高度。
- 保存修改后的演示文稿。
下面给出示例代码。
为图表数据表设置字体属性
Aspose.Slides for C++ 支持更改系列中类别的颜色。
- 实例化 Presentation 类对象。
- 在幻灯片上添加图表。
- 设置图表表格。
- 设置字体高度。
- 保存修改后的演示文稿。
下面给出示例代码。
为图表区域设置圆角边框
Aspose.Slides for C++ 提供了对图表区域进行设置的支持。已在 Aspose.Slides 中添加 IChart.HasRoundedCorners 和 Chart.HasRoundedCorners 属性。
- 实例化 Presentation 类对象。
- 在幻灯片上添加图表。
- 设置图表的填充类型和填充颜色。
- 将圆角属性设为 True。
- 保存修改后的演示文稿。
下面给出示例代码。
设置数字格式
Aspose.Slides for C++ 提供了一个简易的 API,用于管理图表数据格式:
- 创建 Presentation 类的实例。
- 按索引获取幻灯片的引用。
- 添加带有默认数据的图表,并指定所需的类型(本例使用 ChartType.ClusteredColumn)。
- 从可能的预设值中设置预设数字格式。
- 遍历每个系列的图表数据单元格并设置图表数据数字格式。
- 保存演示文稿。
- 设置自定义数字格式。
- 遍历每个系列的图表数据单元格并设置不同的图表数据数字格式。
- 保存演示文稿。
| 以下给出可使用的预设数字格式值及其对应的索引 | |
|---|---|
| 0 | 常规 |
| 1 | 0 |
| 2 | 0.00 |
| 3 | #,##0 |
| 4 | #,##0.00 |
| 5 | $#,##0;$-#,##0 |
| 6 | $#,##0;Red$-#,##0 |
| 7 | $#,##0.00;$-#,##0.00 |
| 8 | $#,##0.00;Red$-#,##0.00 |
| 9 | 0% |
| 10 | 0.00% |
| 11 | 0.00E+00 |
| 12 | # ?/? |
| 13 | # / |
| 14 | m/d/yy |
| 15 | d-mmm-yy |
| 16 | d-mmm |
| 17 | mmm-yy |
| 18 | h:mm AM/PM |
| 19 | h:mm:ss AM/PM |
| 20 | h:mm |
| 21 | h:mm:ss |
| 22 | m/d/yy h:mm |
| 37 | #,##0;-#,##0 |
| 38 | #,##0;Red-#,##0 |
| 39 | #,##0.00;-#,##0.00 |
| 40 | #,##0.00;Red-#,##0.00 |
| 41 | _ * #,##0_ ;_ * “_ ;_ @_ |
| 42 | _ $* #,##0_ ;_ $* “_ ;_ @_ |
| 43 | _ * #,##0.00_ ;_ * “??_ ;_ @_ |
| 44 | _ $* #,##0.00_ ;_ $* “??_ ;_ @_ |
| 45 | mm:ss |
| 46 | h :mm:ss |
| 47 | mm:ss.0 |
| 48 | ##0.0E+00 |
| 49 | @ |
常见问题
我可以为柱形/区域设置半透明填充,同时保持边框不透明吗?
可以。填充透明度和轮廓是分开配置的,这有助于在密集的可视化中提升网格和数据的可读性。
当数据标签重叠时该怎么办?
可以减小字体大小,禁用非必要的标签组件(例如类别),调整标签的偏移/位置,必要时仅为选定点显示标签,或改用 “值 + 图例” 的格式。
我可以为系列应用渐变或图案填充吗?
可以。通常同时提供纯色和渐变/图案填充。实际使用时请适度使用渐变,并避免与网格和文字的对比度降低的组合。