推荐一款 Python 神器,不写一行代码,就可以调用 Matplotlib 绘图

介绍一款新的绘图神器:sviewgui

sviewgui介绍

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安装

这个库的依赖库相当多,因此大家直接采用下面这行代码安装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 svsv.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

展开阅读全文

页面更新:2024-03-07

标签:直方图   代码   线图   神器   图形   界面   形式   窗口   参数   简单   文件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top