栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python的matplotlib模块中pyplot画图方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python的matplotlib模块中pyplot画图方法

1. 基本画图方法

最基本的画图方式为,使用plot(x,y)进行画图。其中x、y为形状相同的两个数组,这里以x为横坐标,以y为纵坐标进行画图。

# coding = utf-8

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-10, 10, 0.01)
y = x**2

plt.plot(x, y)
plt.show()

画出的图像如下图所示:

2. 调节线型、颜色、线条宽度等

在使用plot函数进行画图时,可通过linestyle参数调整线型,通过color参数调整颜色,通过linewidth调整线条宽度。

# coding = utf-8

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-2, 2, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)

# 使用线形图画出y1=x的图像
plt.plot(x, y1,
         linestyle='-.',  # 线型
         linewidth=3,  # 线条宽度
         color='#FF0000',  # 颜色
         label=r'$y1 = sin(x)$'  # 图例
         )

# 使用点状图画出y2=x的图像
plt.plot(x, y2,
         '*',  # 散点形状
         markersize=8,  # 散点大小
         markerfacecolor='#00FF00',  # 散点内部颜色
         markeredgecolor='#0000FF',  # 散点边缘颜色
         label=r'$y1 = cos(x)$'  # 图例
         )
plt.legend(loc='best')  #图例位置
plt.show()

画出的图像如下图所示:

3. 设置标题、坐标轴和网格线

plt.title用于设置标题。

plt.xlim、plt.ylim用于设置坐标轴范围。

plt.xlabel、plt.ylabel用于设置坐标轴文本。

plt.grid用于设置网格线。

# coding = utf-8

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-np.pi, np.pi, 0.1)
y = np.sin(x)

# 使用线形图画出y1=x的图像
plt.plot(x, y,
         linestyle='--',  # 线型
         linewidth=3,  # 线条宽度
         color='#FF0000',  # 颜色
         label=r'$y1 = sin(x)$'  # 图例
         )

# 设置标题能正常显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']

# 设置坐标轴能正常显示中文
plt.rcParams['axes.unicode_minus'] = False

#设置标题文本
plt.title('正弦曲线')

# 设置坐标轴文本
plt.xlabel('这是$X$轴')
plt.ylabel('这是$Y$轴')

# 设置坐标轴范围
plt.xlim(-np.pi, np.pi)
plt.ylim(-1.5, 1.5)

# 设置图例位置
plt.legend(loc='best')

# 设置网格线
plt.grid(b=True,  # 是否添加网格线(True/False)
     which=u'both',  # 使用大网格线还是小网格线('major'/'minor'/'both')
     axis=u'both'  # 在哪个轴添加网格线('both'/'x'/'y')
     )

# 显示图像
plt.show()

这里特别说明,为了使中文能够正常显示,应添加如下代码: 

# 设置标题能正常显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']

# 设置坐标轴能正常显示中文
plt.rcParams['axes.unicode_minus'] = False

画出的图像如下图所示:

4. 多子图绘制

使用fig=plt.figure()创建画布,然后使用fig.add_subplot来画出每个子图。 

# coding = utf-8

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-np.pi, np.pi, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建画布
fig = plt.figure()

# 绘制第一个子图
fig1 = fig.add_subplot(2, 1, 1)
fig1.grid(True)
fig1.plot(x, y1)
fig1.set_title('Fig1')

# 绘制第二个子图
fig2 = fig.add_subplot(2, 1, 2)
fig2.grid(False)
fig2.plot(x, y2)
fig2.set_title('Fig2')

# 显示图像
plt.show()

画出的图像如下图所示:

 5. 图像的保存

使用plt.savefig来保存图像。

# 以上略
plt.savefig('画图.png', dpi=300)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/968616.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号