Как создать комбинированную диаграмму

Возможные сценарии использования

Комбинированные диаграммы в 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")