本文主要是介绍Python的matplotlib模块中pyplot画图方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 基本画图方法
最基本的画图方式为,使用plot(x,y)进行画图。其中x、y为形状相同的两个数组,这里以x为横坐标,以y为纵坐标进行画图。
# coding = utf-8import matplotlib.pyplot as plt
import numpy as npx = np.arange(-10, 10, 0.01)
y = x**2plt.plot(x, y)
plt.show()
画出的图像如下图所示:
2. 调节线型、颜色、线条宽度等
在使用plot函数进行画图时,可通过linestyle参数调整线型,通过color参数调整颜色,通过linewidth调整线条宽度。
# coding = utf-8import matplotlib.pyplot as plt
import numpy as npx = 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-8import matplotlib.pyplot as plt
import numpy as npx = 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-8import matplotlib.pyplot as plt
import numpy as npx = 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)
这篇关于Python的matplotlib模块中pyplot画图方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!