又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

王林
發布: 2023-04-13 12:37:02
轉載
1704 人瀏覽過

又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

sviewgui介紹

sviewgui是基於 PyQt 的 GUI,用於 csv 檔案或 Pandas 的 DataFrame 的資料視覺化。此 GUI 基於 matplotlib,您可以透過多種方式視覺化您的 csv 檔案。主要特點:

  • Ⅰ 散佈圖、線圖、密度圖、直方圖和箱線圖類型;
  • Ⅱ 標記大小、線寬、直方圖的bin 數量、顏色圖的設定(來自cmocean);
  • Ⅲ 將圖另存為可編輯的PDF;
  • Ⅳ 繪製圖形的程式碼可用,以便它可以在sviewgui 之外重複使用和修改;

專案網址: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安裝

這個函式庫的依賴函式庫相當多,所以大家直接採用下面這行程式碼安裝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.
登入後複製

直到加這個就行,不用管為什麼,因為我也不知道!

sviewgui使用

上面我為大家介紹了3種開啟GUI圖形介面視窗的程式碼,這裡只介紹下面這個方法:

import sviewgui.sview as sv
sv.buildGUI()
登入後複製

截圖如下:

又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

當你在命令列輸入上述程式碼後,會驅動後台開啟這個圖形化介面窗口,初始化狀態大致上是這樣的:

又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

點擊上述select,可以選擇資料來源:

又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

然後我們可以點擊左側選單欄,產生對應的圖形。但是有一點,似乎不支持中文! ! !

又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

如果你覺得這裡不足以完善你想要的圖形,可以複製圖形所對應的Python程式碼,簡單修改即可。

又一Python神器,不寫一行程式碼,就可以呼叫Matplotlib繪圖!

然後,你拿著下面的程式碼,簡單修改,就可以產生漂亮的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中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!