利用python將?Matplotlib?可視化插入到?Excel表格中
前言:
在生活中工作中,我們經(jīng)常使用Excel用于儲存數(shù)據(jù),Tableau等BI程序處理數(shù)據(jù)并進(jìn)行可視化。我們也經(jīng)常使用R、Python編程進(jìn)行高質(zhì)量的數(shù)據(jù)可視化,生成制作了不少精美優(yōu)雅的圖表。
但是如何將這些“優(yōu)雅”延續(xù)要Excel中呢?Python繪圖庫有很多,我們就還是拿最基本的Matplotlib為例。
今天就為大家演示一下,如何將Matplotlib繪制的可視化圖片,插入到Excel中。
其他可視化庫生成的圖片,也同樣適用
數(shù)據(jù)可視化
目前Python用來操作Excel的庫:xlrd、xlwt、openpyxl、xlwings等等。在本文中,我們會使用xlwings模塊來控制Excel插入圖表。
首先,使用Pandas模塊讀取數(shù)據(jù),并隨機(jī)預(yù)覽5行。
import?pandas?as?pd df?=?pd.read_excel('可視化數(shù)據(jù).xlsx') df.sample(5)
輸出:
使用Python讀取數(shù)據(jù)后,便可以matplotlib進(jìn)行數(shù)據(jù)可視化了。此處使用了《Python 數(shù)據(jù)可視化之美》中的一個例子。
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圖(徑向坐標(biāo)可視化)。Radviz可視化原理[2]是將一系列多維空間的點通過非線性方法映射到二維空間的可視化技術(shù),是基于圓形平行坐標(biāo)系的設(shè)計思想而提出的多維可視化方法。
圖表插入Excel
在xlwings庫中,想要實現(xiàn)圖表插入Excel里,主要靠的是picture對象的add()方法。
它有幾個重要的參數(shù),如下表所示:
參數(shù)名 | 釋義用法 |
---|---|
image | 文件路徑或Matplotlib圖形對象。 |
left | 以磅為單位距離左側(cè)邊緣的位置,默認(rèn)為0。 |
top | 以磅為單位距離上側(cè)邊緣的位置,默認(rèn)為0。 |
width | 設(shè)置圖寬。 |
height | 設(shè)置圖高。 |
name | Excel圖片名稱。如果未提供,則默認(rèn)為Excel標(biāo)準(zhǔn)名稱。 |
update | 替換更新圖片。 |
scale | 縮放尺度。 |
在交互式環(huán)境中輸入如下命令:
import?xlwings?as?xw app?=?xw.App(visible=False,?add_book=False) wb?=?app.books.open('可視化數(shù)據(jù).xlsx') sheet?=?wb.sheets[0]??#?選擇第1個工作表 sheet.pictures.add(figure)??#?插入圖表 wb.save("可視化數(shù)據(jù)-新.xlsx") wb.close() app.quit()
在上述代碼中,其實關(guān)鍵代碼就一行,其他的代碼都是打開、打開、打開,關(guān)閉、關(guān)閉、關(guān)閉。這是因為xlwings想要直接操作工作表中的單元格,需要經(jīng)過多重結(jié)構(gòu),
具體如下圖所示:
最后,打開原本的Excel表格,發(fā)現(xiàn)matplotlib繪制的圖表已經(jīng)與數(shù)據(jù)放在了一起。
這樣,我們就實現(xiàn)了將Matplotlib繪制的可視化圖片插入到Excel中。
到此這篇關(guān)于利用python將 Matplotlib 可視化 插入到 Excel 表格中的文章就介紹到這了,更多相關(guān)Matplotlib 插入 Excel 表格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 淺談python多進(jìn)程共享變量Value的使用tips
- Python?pandas?DataFrame基礎(chǔ)運算及空值填充詳解
- Python?Pandas多種添加行列數(shù)據(jù)方法總結(jié)
- Python如何利用pandas讀取csv數(shù)據(jù)并繪圖
- Python?pandas替換指定數(shù)據(jù)的方法實例
- python實現(xiàn)對excel中需要的數(shù)據(jù)的單元格填充顏色
- Python利用pdfplumber實現(xiàn)讀取PDF寫入Excel
- 如何利用python將Xmind用例轉(zhuǎn)為Excel用例
- Python+pandas編寫命令行腳本操作excel的tips詳情
相關(guān)文章
python中如何利用matplotlib畫多個并列的柱狀圖
python是一個很有趣的語言,可以在命令行窗口運行,下面這篇文章主要給大家介紹了關(guān)于python中如何利用matplotlib畫多個并列的柱狀圖的相關(guān)資料,需要的朋友可以參考下2022-01-01python實戰(zhàn)練習(xí)做一個隨機(jī)點名的程序
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實現(xiàn)一個隨機(jī)點名的程序,大家可以在過程中查缺補漏,提升水平2021-10-10