Create Tornado Charts in Excel using Python

數據可視化是一個重要工具,因為它使得理解複雜的數據集和做出明智的決策變得更容易。龍捲圖在敏感性分析中很有用,因為它們提供了一個圖形輸出,使得可以評估輸入變量對特定輸出的變化。在這篇博客文章中,我們將學習如何使用 Python 在 Excel 中創建龍捲圖。

本文涵蓋以下主題:

什麼是龍捲圖?

龍捲圖是一種條形圖,特別適合比較由各種輸入引起的一個輸出變化的程度。在選擇或風險評估時,它使得很容易確定哪個變量對結果有最大的影響。條形的減少順序產生了一個龍捲風的形狀,因此得名。

Python 龍捲圖 API 在 Excel 中

為了在 Excel 中創建龍捲圖,我們將利用 Aspose.Cells for Python API 的圖表功能。這是一個有效的工具,使開發者能夠在他們的應用程式中創建、操作、轉換和執行其他操作的 Excel 文件。

在深入創建龍捲圖之前,讓我們設置我們的環境並安裝 Aspose.Cells for Python。

要安裝 Aspose.Cells for Python,請 下載包 或使用以下命令從 PyPI 安裝 API

pip install aspose-cells-python

使用 Python 在 Excel 中創建龍捲圖

設置環境後,我們可以通過以下步驟在 Excel 工作表中輕鬆創建龍捲圖:

  1. 使用 Workbook 類加載包含數據的 Excel 文件。
  2. 獲取所需的工作表到 Worksheet 類對象中。
  3. 使用 Charts.add() 方法添加堆積條形圖。
  4. 通過索引訪問 Chart 類對象中的圖表。
  5. 使用 set_chart_data_range() 方法設置圖表的數據來源。
  6. 設置圖表的所需屬性。
  7. 最後使用 save() 方法保存文件。

以下代碼示例顯示了如何使用 Python 在 Excel 中創建龍捲圖

import aspose.cells
from aspose.cells import Workbook
from aspose.cells.charts import ChartType, LegendPositionType, TickLabelPositionType, LabelPositionType
from aspose.pydrawing import Color
# Load an existing Excel file with data
wb = Workbook("sample.xlsx")
# Access the worksheet
sheet = wb.worksheets[0]
# Get charts
charts = sheet.charts
# Add bar chart
index = charts.add(ChartType.BAR_STACKED, 8, 1, 24, 8)
chart = charts[index]
# Set data for bar chart
chart.set_chart_data_range("A1:C7", True)
# Set properties for bar chart
chart.title.text = "Tornado chart"
chart.style = 2
chart.plot_area.area.foreground_color = Color.white
chart.plot_area.border.color = Color.white
chart.legend.position = LegendPositionType.BOTTOM
chart.category_axis.tick_label_position = TickLabelPositionType.LOW
chart.category_axis.is_plot_order_reversed = True
chart.gap_width = 10
value_axis = chart.value_axis
value_axis.tick_labels.number_format = "#,##0;#,##0"
# Save the file
wb.save("TornadoChart_out.xlsx")
Create a Tornado Chart in Excel using Python

Create a Tornado Chart in Excel using Python

插入數據並在 Excel 中創建龍捲圖

到目前為止,我們已經學習了如何使用預先填充數據的工作表創建龍捲圖。現在,我們將看到如何使用 Cells 類的 put_value() 方法將數據插入到 Excel 工作表中。創建龍捲圖的其餘過程將保持不變。

以下代碼示例顯示了如何插入數據然後使用 Python 在 Excel 中創建龍捲圖

import aspose.cells
from aspose.cells import Workbook
from aspose.cells.charts import ChartType, LegendPositionType, TickLabelPositionType, LabelPositionType
from aspose.pydrawing import Color
# Create a new Excel Workbook
wb = Workbook()
worksheet = wb.worksheets[0]
# Add sample values to cells
worksheet.cells.get("A1").put_value("Products")
worksheet.cells.get("A2").put_value("Product A")
worksheet.cells.get("A3").put_value("Product B")
worksheet.cells.get("A4").put_value("Product C")
worksheet.cells.get("A5").put_value("Product D")
worksheet.cells.get("A6").put_value("Product E")
worksheet.cells.get("B1").put_value("2021-2022")
worksheet.cells.get("B2").put_value(-100)
worksheet.cells.get("B3").put_value(-80)
worksheet.cells.get("B4").put_value(-75)
worksheet.cells.get("B5").put_value(-60)
worksheet.cells.get("B6").put_value(-48)
worksheet.cells.get("C1").put_value("2023-2024")
worksheet.cells.get("C2").put_value(95)
worksheet.cells.get("C3").put_value(80)
worksheet.cells.get("C4").put_value(72)
worksheet.cells.get("C5").put_value(65)
worksheet.cells.get("C6").put_value(45)
charts = worksheet.charts
# Add bar chart
index = charts.add(ChartType.BAR_STACKED, 8, 1, 24, 8)
chart = charts[index]
# Set data for bar chart
chart.set_chart_data_range("A1:C6", True)
# Set properties for bar chart
chart.title.text = "Tornado chart"
chart.style = 2
chart.plot_area.area.foreground_color = Color.white
chart.plot_area.border.color = Color.white
chart.legend.position = LegendPositionType.BOTTOM
chart.category_axis.tick_label_position = TickLabelPositionType.LOW
chart.category_axis.is_plot_order_reversed = True
chart.gap_width = 50
# # Show data labels
for series in chart.n_series:
series.border.color = Color.black
datalabels = series.data_labels
# Set the position of DataLabels
datalabels.position = LabelPositionType.CENTER
# Show the value in the DataLabels
datalabels.show_value = True
datalabels.font.color = Color.white
datalabels.number_format = "#,##0;#,##0"
value_axis = chart.value_axis
value_axis.tick_labels.number_format = "#,##0;#,##0"
# Save the file
wb.save("insertAndCreate_out.xlsx")
Insert Data and Create a Tornado Chart in Excel

Insert Data and Create a Tornado Chart in Excel

獲取免費許可

獲取 免費臨時許可 以充分利用在 Excel 中創建龍捲圖的潛力!請訪問我們的頁面,了解如何快速簡便地申請免費許可並享受無限制的訪問。

使用 Python 在 Excel 中創建龍捲圖 – 免費資源

除了使用 Python 在 Excel 中創建龍捲圖外,還可以探索其他數據可視化技術並提高您的數據分析能力。欲了解更多信息和高級功能,請參考以下資源:

結論

在本文中,我們學習了如何使用 Python 在 Excel 中創建龍捲圖。Aspose.Cells for Python 是一個強大的庫,可以對 Excel 文件進行程式化操作,使數據可視化任務自動化。通過遵循本文中概述的步驟,您可以創建自定義龍捲圖,以有效地可視化各種因素對特定結果的影響。

如有任何疑問,請隨時聯繫我們的 免費支持論壇

另見