sviewgui是基於 PyQt 的 GUI,用於 csv 檔案或 Pandas 的 DataFrame 的資料視覺化。此 GUI 基於 matplotlib,您可以透過多種方式視覺化您的 csv 檔案。主要特點:
專案網址:https://github.com/SojiroFukuda/sview-gui
這個套件用法超級簡單,它只有一個方法:buildGUI()。此方法可以傳入零個或一個參數。您可以使用 csv 檔案的檔案路徑作為參數,或使用 pandas 的DataFrame物件作為參數。類似程式碼寫法如下:
# 第一种形式 import sviewgui.sview as sv sv.buildGUI() # 第二种形式 import sviewgui.sview as sv FILE_PATH = "User/Documents/yourdata.csv" sv.buildGUI(FILE_PATH) # 第三种形式 import sviewgui.sview as sv import pandas as pd FILE_PATH = "User/Documents/yourdata.csv" df = pd.read_csv(FILE_PATH) sv.buildGUI(df)
上面程式碼,只是幫助驅動開啟這個GuI視覺化介面。
最後強調一點,由於這個函式庫是基於matplotlib可視化的,因此seaborn風格同樣適用於這裡,因為seaborn也是基於matplotlib可視化的。
這個函式庫的依賴函式庫相當多,所以大家直接採用下面這行程式碼安裝sviewgui函式庫。
pip install sviewgui -i https://pypi.tuna.tsinghua.edu.cn/simple/ --ignore-installed
後面這個--ignore-installed,我最開始是沒加的,但是報錯了,大致錯誤如下:
ERROR: Cannot uninstall 'certifi'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
直到加這個就行,不用管為什麼,因為我也不知道!
上面我為大家介紹了3種開啟GUI圖形介面視窗的程式碼,這裡只介紹下面這個方法:
import sviewgui.sview as sv sv.buildGUI()
截圖如下:
當你在命令列輸入上述程式碼後,會驅動後台開啟這個圖形化介面窗口,初始化狀態大致上是這樣的:
點擊上述select,可以選擇資料來源:
然後我們可以點擊左側選單欄,產生對應的圖形。但是有一點,似乎不支持中文! ! !
如果你覺得這裡不足以完善你想要的圖形,可以複製圖形所對應的Python程式碼,簡單修改即可。
然後,你拿著下面的程式碼,簡單修改,就可以產生漂亮的Matplotlib圖形了。
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import cmocean #2021/07/13 08:03:18 #- Import CSV as DataFrame ---------- FILE_PATH = 'C:/Users/Administrator/Desktop/plot.csv' DATA = pd.read_csv(FILE_PATH) #- Axes Setting ---------- fig, ax = plt.subplots() ax.set_title( "x-y") ax.set_xlabel( "x") ax.set_ylabel( "x" ) ax.set_xlim(min(DATA['x'].replace([np.inf, -np.inf], np.nan ).dropna() ) - abs( min(DATA['x'].replace([np.inf, -np.inf], np.nan ).dropna() )/10), max(DATA['x'].replace([np.inf, -np.inf], np.nan).dropna()) + abs(max(DATA['x'].replace([np.inf, -np.inf], np.nan).dropna())/10)) ax.set_ylim( min(DATA['x'].replace([np.inf, -np.inf], np.nan ).dropna() ) - abs( min(DATA['x'].replace([np.inf, -np.inf], np.nan ).dropna() )/10), max(DATA['x'].replace([np.inf, -np.inf], np.nan).dropna()) + abs(max(DATA['x'].replace([np.inf, -np.inf], np.nan).dropna())/10)) #- PLOT ------------------ ax.plot( DATA["x"].replace([np.inf, -np.inf], np.nan), DATA["x"].replace([np.inf, -np.inf], np.nan), linewidth = 3.0, alpha =1.0, color = "#005AFF" ) plt.show()
以上是又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!的詳細內容。更多資訊請關注PHP中文網其他相關文章!