您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何利用python將Matplotlib可視化插入到Excel表格中”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何利用python將Matplotlib可視化插入到Excel表格中”吧!
目前Python用來操作Excel的庫:xlrd、xlwt、openpyxl、xlwings等等。在本文中,我們會使用xlwings模塊來控制Excel插入圖表。
首先,使用Pandas模塊讀取數據,并隨機預覽5行。
import pandas as pd df = pd.read_excel('可視化數據.xlsx') df.sample(5)
輸出:
使用Python讀取數據后,便可以matplotlib進行數據可視化了。此處使用了《Python 數據可視化之美》中的一個例子。
import numpy as np from pandas.plotting import radviz import matplotlib.pyplot as plt angle = np.arange(360)/180*3.14159 x = np.cos(angle) y = np.sin(angle) figure = plt.figure(figsize=(3.5, 3.5), dpi=100) ax = radviz(df, 'variety', color=['#FC0000', '#F0AC02', '#009E88'], edgecolors='k', marker='o', s=34, linewidths=1) plt.plot(x, y, color='gray') plt.axis('off') plt.legend(loc="center", bbox_to_anchor=(1.1, 0, 0, 0.4), edgecolor='none', facecolor='none', title='Group')
輸出:
上面繪制得到的圖形是RadViz圖(徑向坐標可視化)。Radviz可視化原理[2]是將一系列多維空間的點通過非線性方法映射到二維空間的可視化技術,是基于圓形平行坐標系的設計思想而提出的多維可視化方法。
在xlwings庫中,想要實現圖表插入Excel里,主要靠的是picture對象的add()方法。
它有幾個重要的參數,如下表所示:
參數名 | 釋義用法 |
---|---|
image | 文件路徑或Matplotlib圖形對象。 |
left | 以磅為單位距離左側邊緣的位置,默認為0。 |
top | 以磅為單位距離上側邊緣的位置,默認為0。 |
width | 設置圖寬。 |
height | 設置圖高。 |
name | Excel圖片名稱。如果未提供,則默認為Excel標準名稱。 |
update | 替換更新圖片。 |
scale | 縮放尺度。 |
在交互式環境中輸入如下命令:
import xlwings as xw app = xw.App(visible=False, add_book=False) wb = app.books.open('可視化數據.xlsx') sheet = wb.sheets[0] # 選擇第1個工作表 sheet.pictures.add(figure) # 插入圖表 wb.save("可視化數據-新.xlsx") wb.close() app.quit()
在上述代碼中,其實關鍵代碼就一行,其他的代碼都是打開、打開、打開,關閉、關閉、關閉。這是因為xlwings想要直接操作工作表中的單元格,需要經過多重結構,
具體如下圖所示:
最后,打開原本的Excel表格,發現matplotlib繪制的圖表已經與數據放在了一起。
感謝各位的閱讀,以上就是“如何利用python將Matplotlib可視化插入到Excel表格中”的內容了,經過本文的學習后,相信大家對如何利用python將Matplotlib可視化插入到Excel表格中這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。