1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        贊!推薦一款 Python 神器,不寫一行代碼,就可以調(diào)用 Matplotlib 繪圖!

        共 3482字,需瀏覽 7分鐘

         ·

        2022-07-08 22:54

        介紹一款新的繪圖神器:sviewgui。

        sviewgui介紹

        sviewgui是一個基于 PyQt 的 GUI,用于 csv 文件或 Pandas 的 DataFrame 的數(shù)據(jù)可視化。此 GUI 基于 matplotlib,您可以通過多種方式可視化您的 csv 文件。主要特點:

        • Ⅰ 散點圖、線圖、密度圖、直方圖和箱線圖類型;
        • Ⅱ 標(biāo)記大小、線寬、直方圖的 bin 數(shù)量、顏色圖的設(shè)置(來自 cmocean);
        • Ⅲ 將圖另存為可編輯的 PDF;
        • Ⅳ 繪制圖形的代碼可用,以便它可以在 sviewgui 之外重用和修改;

        項目地址:https://github.com/SojiroFukuda/sview-gui

        這個包用法超級簡單,它只有一種方法:buildGUI()。此方法可以傳入零個或一個參數(shù)。您可以使用 csv 文件的文件路徑作為參數(shù),或者使用 pandas 的DataFrame對象作為參數(shù)。類似代碼寫法如下:

        # 第一種形式
        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)

        上面代碼,只是幫助驅(qū)動打開這個GuI可視化界面。

        最后強調(diào)一點,由于這個庫是基于matplotlib可視化的,因此seaborn風(fēng)格同樣適用于這里,因為seaborn也是基于matplotlib可視化的。

        sviewgui安裝

        這個庫的依賴庫相當(dāng)多,因此大家直接采用下面這行代碼安裝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()

        截圖如下:



        當(dāng)你在命令行輸入上述代碼后,會驅(qū)動后臺打開這個圖形化界面窗口,初始化狀態(tài)大致是這樣的:



        點擊上述select,可以選擇數(shù)據(jù)源:



        然后我們可以點擊左側(cè)菜單欄,生成對應(yīng)的圖形。但是有一點,貌似不支持中文!??!



        如果你覺得這里不足以完善你想要的圖形,可以復(fù)制圖形所對應(yīng)的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() 


        END


        推薦閱讀


        牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

        牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長文系列第②篇)

        牛逼!Python函數(shù)和文件操作(長文系列第③篇)

        牛逼!Python錯誤、異常和模塊(長文系列第④篇)


        吳恩達(dá)deeplearining.ai的經(jīng)典總結(jié)資料


        Ps:從小程序直接獲取下載

        瀏覽 48
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产aaa大片 | 古代艳h肉bl | 色淫视频 | 有码精品 | 红桃视频乱伦 | 青青草视频免费观看 | 动漫美女狂揉下部羞羞 | 黑人把逼操出水的视频了 | 久热最新网址 | 强扒开腿挺进湿润的花苞 |