python matplotlib数据作图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python matplotlib数据作图相关的知识,希望对你有一定的参考价值。

请问下这个用python怎么用matplotlib来处理成图形啊?

一、使用numpy生成长度为100的等差序列作为自变量,命名为x,并使用三角函数SiNx和cosx**2生成两个因变量,命名为y和Z。

二、设置画布的大小、颜色、宽度、类型和标签。

三、通过plt.figure(figsize=(10,6))的画布。图((10,6))。

四、尝试plt.plot(x,y,color='red',linewidth=2,label='$\\sinx$')和plt.plot(x,z,'b--',label='$\\cosx^2$')。

五、分通过plt.xlabel('T')和plt.ylabel('V')设置X和Y轴的轴标签;并通过plt.title('V changes by T')为图形设置标题。

六、Y[:,0]=Y[:,0]*888表示修改第一个数据并将其展开888次;之后,使用上述设置时保持不变,发现另一行几乎是一条直线。

参考技术A

1、使用numpy生成一个长度为100的等差数列作为自变量,命名为x,分别使用三角函数sinx和cosx**2生成2个因变量,命名为y和z。

2、设置画布的尺寸大小和图形颜色、线条宽度、线条类型、图形标签等。


3、通过plt.figure(figsize=(10,6))设计一个10*6的画布。

4、尝试plt.plot(x,y,color='red',linewidth=2,label='$\\sinx$')和plt.plot(x,z,'b--',label='$\\cosx^2$')。

5、分别通过plt.xlabel('T')和plt.ylabel('V')设置X和Y轴的轴标签;通过plt.title('V changes by T')为图形设置标题。

6、y[:,0]=y[:,0]*888表示修改第一个数据,扩大888倍;后面沿用上面设置不变,发现另一条线几乎成为一条直线。

参考技术B

主要使用的是bar函数

效果还不错吧~

import matplotlib.pyplot as plt
import numpy as np
plt.rc('font', family='SimHei', size=13)

num = np.array([13325, 9403, 9227, 8651])
ratio = np.array([0.75, 0.76, 0.72, 0.75])
men = num * ratio
women = num * (1-ratio)
x = ['聊天','支付','团购\\n优惠券','在线视频']

width = 0.5
idx = np.arange(len(x))
plt.bar(idx, men, width, color='red', label='男性用户')
plt.bar(idx, women, width, bottom=men, color='yellow', label='女性用户')
plt.xlabel('应用类别')
plt.ylabel('男女分布')
plt.xticks(idx+width/2, x, rotation=40)
plt.legend()

本回答被提问者和网友采纳
参考技术C 大叔大叔的

不用写一行Python代码,就可以用Matplotlib绘图,妈妈再也不担心我不会作图了!

本文禁止任何人转载!

sviewgui介绍

sviewgui是一个基于 PyQt 的 GUI,用于 csv 文件或 Pandas 的 DataFrame 的数据可视化。此 GUI 基于 matplotlib,您可以通过多种方式可视化您的 csv 文件。主要特点:

  • Ⅰ 散点图、线图、密度图、直方图和箱线图类型;
  • Ⅱ 标记大小、线宽、直方图的 bin 数量、颜色图的设置(来自 cmocean);
  • Ⅲ 将图另存为可编辑的 PDF;
  • Ⅳ 绘制图形的代码可用,以便它可以在 sviewgui 之外重用和修改;

这个包用法超级简单,它只有一种方法: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 matplotlib数据作图的主要内容,如果未能解决你的问题,请参考以下文章

python matplotlib数据作图

R python在无图形用户界面时保存图片

Python矩阵作图库matplotlib的初级使用

使用python的matplotlib作图

python matplotlib以日期为x轴作图

数据可视化代码实例(Matplotlib+Pandas)