• 一款神器的 Python 工具,不写一行代码,就可以调用 Matplotlib 绘图


    介绍一款新的绘图神器: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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    上面代码,只是帮助驱动打开这个GuI可视化界面。

    最后强调一点,由于这个库是基于matplotlib可视化的,因此seaborn风格同样适用于这里,因为seaborn也是基于matplotlib可视化的。

    sviewgui安装

    这个库的依赖库相当多,因此大家直接采用下面这行代码安装sviewgui库。

    pip install sviewgui -i https://pypi.tuna.tsinghua.edu.cn/simple/ --ignore-installed
    
    • 1

    后面这个--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.
    
    • 1

    直到加这个就行,不用管为什么,因为我也不知道!

    sviewgui使用

    上面我为大家介绍了3种打开GUI图形界面窗口的代码,这里仅介绍下面这种方法:

    import sviewgui.sview as svsv.buildGUI()
    
    • 1

    截图如下:

    图片

    当你在命令行输入上述代码后,会驱动后台打开这个图形化界面窗口,初始化状态大致是这样的:

    图片

    点击上述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() 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    技术交流

    目前开通了技术交流群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

    方式①、发送如下图片至微信,长按识别,后台回复:加群;
    方式②、添加微信号:dkl88191,备注:来自CSDN
    方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

    在这里插入图片描述

  • 相关阅读:
    瑞萨RA6系列bootloader分析
    业务网关之AK中心建设
    最短编辑距离( 动态规划 + 线性dp )
    基于区块链技术的疫情管理系统
    Python整数规划—分枝定界法
    compact unwind compressed function offset doesn‘t fit in 24 bits
    [HDLBits] Exams/ece241 2013 q12
    无限边界:现代整合安全如何保护云
    设计模式——抽象工厂模式02
    WCF 请求答复模式
  • 原文地址:https://blog.csdn.net/qq_34160248/article/details/125455108