如何创建组合图表

可能的使用场景

Excel中的组合图表让您能够利用此选项,因为您可以轻松地组合两种或更多种图表类型,以使您的数据易于理解。当您的数据包含多种值(包括价格和交易量)时,组合图表是有用的。此外,当您的数据数字在系列之间有明显变化时,组合图表是可行的。 以以下数据集为例,我们可以观察到这些数据与VHCL中提到的数据相当相似。如果我们希望将与“总收入”对应的series0可视化为线图表,应该如何操作?

todo:image_alt_text

组合图表

运行以下代码后,您将看到下面展示的组合图表。

todo:image_alt_text

示例代码

以下示例代码加载了示例Excel文件并生成了输出Excel文件

from aspose.cells import Workbook
from aspose.cells.charts import ChartMarkerType, ChartType, FormattingType, LegendPositionType
from aspose.cells.drawing import LineType
from aspose.pydrawing import Color
# Create the workbook
workbook = Workbook("combo.xlsx")
# Access the first worksheet
worksheet = workbook.worksheets[0]
# Add a stock vloume(VHLC)
pieIdx = worksheet.charts.add(ChartType.STOCK_VOLUME_HIGH_LOW_CLOSE, 15, 0, 34, 12)
# Retrieve the Chart object
chart = worksheet.charts[pieIdx]
# Set the legend can be showed
chart.show_legend = True
# Set the chart title name
chart.title.text = "Combo Chart"
# Set the Legend at the bottom of the chart area
chart.legend.position = LegendPositionType.BOTTOM
# Set data range
chart.set_chart_data_range("A1:E12", True)
# Set category data
chart.n_series.category_data = "A2:A12"
# Set the Series[1] Series[2] and Series[3] to different Marker Style
for j in range(len(chart.n_series)):
if j == 1:
chart.n_series[j].marker.marker_style = ChartMarkerType.CIRCLE
chart.n_series[j].marker.marker_size = 15
chart.n_series[j].marker.area.formatting = FormattingType.CUSTOM
chart.n_series[j].marker.area.foreground_color = Color.pink
chart.n_series[j].border.is_visible = False
elif j == 2:
chart.n_series[j].marker.marker_style = ChartMarkerType.DASH
chart.n_series[j].marker.marker_size = 15
chart.n_series[j].marker.area.formatting = FormattingType.CUSTOM
chart.n_series[j].marker.area.foreground_color = Color.orange
chart.n_series[j].border.is_visible = False
elif j == 3:
chart.n_series[j].marker.marker_style = ChartMarkerType.SQUARE
chart.n_series[j].marker.marker_size = 15
chart.n_series[j].marker.area.formatting = FormattingType.CUSTOM
chart.n_series[j].marker.area.foreground_color = Color.light_blue
chart.n_series[j].border.is_visible = False
# Set the chart type for Series[0]
chart.n_series[0].type = ChartType.LINE
# Set style for the border of first series
chart.n_series[0].border.style = LineType.SOLID
# Set Color for the first series
chart.n_series[0].border.color = Color.dark_blue
# Fill the PlotArea area with nothing
chart.plot_area.area.formatting = FormattingType.NONE
# Save the Excel file
workbook.save("out.xlsx")