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

开发 后端
sviewgui是一个基于 PyQt 的 GUI,用于 csv 文件或 Pandas 的 DataFrame 的数据可视化。

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

sviewgui介绍

此 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()

截图如下:

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

点击上述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
相关推荐

2022-07-14 10:54:15

Python代码Matplotlib

2023-04-26 07:32:04

python代码文字信息

2020-04-30 10:45:14

IDEA代码神器工具

2015-12-21 13:11:02

开源A-FrameWebGL

2020-10-23 09:35:41

开源 Java 代码

2019-02-25 10:18:43

工具代码测试

2016-12-02 08:53:18

Python一行代码

2020-10-06 19:02:11

代码机器学习igel

2020-05-11 17:12:52

换脸Python图像

2023-03-27 23:45:39

ChatGPT人工智能Python

2021-07-01 15:40:05

Python代码Geopandas

2021-04-27 09:00:59

PythonAidLearning编程神器

2022-04-10 23:43:11

代码发送邮件后端

2022-04-09 09:11:33

Python

2020-08-28 10:40:13

PythonFaker数据

2024-01-07 16:56:59

Python人工智能神经网络

2022-10-09 10:11:30

Python爬虫神器

2017-04-13 19:20:18

Python代码并行任务

2022-04-11 11:38:44

Python代码游戏

2020-08-19 10:30:25

代码Python多线程
点赞
收藏

51CTO技术栈公众号