
數據可視化是一個重要工具,因為它使得理解複雜的數據集和做出明智的決策變得更容易。龍捲圖在敏感性分析中很有用,因為它們提供了一個圖形輸出,使得可以評估輸入變量對特定輸出的變化。在這篇博客文章中,我們將學習如何使用 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 工作表中輕鬆創建龍捲圖:
- 使用 Workbook 類加載包含數據的 Excel 文件。
- 獲取所需的工作表到 Worksheet 類對象中。
- 使用 Charts.add() 方法添加堆積條形圖。
- 通過索引訪問 Chart 類對象中的圖表。
- 使用 set_chart_data_range() 方法設置圖表的數據來源。
- 設置圖表的所需屬性。
- 最後使用 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
插入數據並在 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
獲取免費許可
獲取 免費臨時許可 以充分利用在 Excel 中創建龍捲圖的潛力!請訪問我們的頁面,了解如何快速簡便地申請免費許可並享受無限制的訪問。
使用 Python 在 Excel 中創建龍捲圖 – 免費資源
除了使用 Python 在 Excel 中創建龍捲圖外,還可以探索其他數據可視化技術並提高您的數據分析能力。欲了解更多信息和高級功能,請參考以下資源:
結論
在本文中,我們學習了如何使用 Python 在 Excel 中創建龍捲圖。Aspose.Cells for Python 是一個強大的庫,可以對 Excel 文件進行程式化操作,使數據可視化任務自動化。通過遵循本文中概述的步驟,您可以創建自定義龍捲圖,以有效地可視化各種因素對特定結果的影響。
如有任何疑問,請隨時聯繫我們的 免費支持論壇。