欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python-使用pyplot模块绘图

程序员文章站 2022-07-13 21:52:01
...

图表能帮助我们更好的反映出数据的信息,无论是论文还是博客都需要用到,所以非常有必要先学习一下。

matplotlib.pyplot

在python中,使用matplotlib库中的pyplot模块进行绘图。


1.最简单的使用

import matplotlib.pyplot as plt

plt.plot([4,3,2,1])
plt.show()

输出结果:
Python-使用pyplot模块绘图
说明:

  • 当只给出单个数组时plot()会默认是y轴数值,x轴数值则会被默认从0开始依次递增。
  • 默认图形颜色为蓝色,线条是实线,该参数是’b-‘,’b’表示蓝色,’-‘表示实线。
  • 将plot()替换成scatter()用于显示散点图,散点图已经确定了形状是圆点,故不能指定形状,但可以指定颜色和圆点的尺寸。
x=np.arange(1,9,1)
#生成从1到9的数组,最后一个参数代表步长
plt.scatter(x,x,color='green',linewidths=0.01)
plt.scatter(x,x**2,color='blue',linewidths=3)
plt.show()

Python-使用pyplot模块绘图


2.增加标签、题目和颜色

import matplotlib.pyplot as plt

plt.plot([4,3,2,1],[5,7,4,9],'r--')#线条为虚线,颜色为红色
plt.xlabel('x numbers')#设置x轴的标签
plt.ylabel('y numbers')#设置y轴的标签
plt.title("Test figure")#增加图表的名称
plt.show()

输出结果:
Python-使用pyplot模块绘图
说明:

  • 使用plt.axis()接受形如[xmin,xmax,ymin,ymax]的参数,指定了X,Y轴坐标的范围。

3.在一张图中绘制多个线条

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,9,1)#生成从1到9的数组,最后一个参数代表步长
plt.plot(x,x,'ro',x,x**2,'gs',x,x*3,'y^',x,x*2,'bv')#对于每对x、y,后接可选参数颜色+形状
plt.axis([0, 6, 0, 50])#限制x,y轴的取值范围

plt.xlabel('x numbers')#设置x轴的标签
plt.ylabel('y numbers')#设置y轴的标签
plt.title("Test figure")#增加图表的名称
plt.show()

输出结果:
Python-使用pyplot模块绘图


4.为每条线打标签

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,9,1)#生成从1到9的数组,最后一个参数代表步长
plt.plot(x,x,'ro',label='a')
plt.plot(x,x**2,'gs',label='b')
plt.plot(x,3*x,'y^',label='c')
plt.plot(x,2*x,'bv',label='d')

#显示
#plt.legend(loc="lower right")放在右下角
plt.legend()#默认label右上角
plt.show()

结果输出:
Python-使用pyplot模块绘图


5.处理多图片排版问题

import matplotlib.pyplot as plt
import numpy as np

x=np.arange(1,9,1)#生成从1到9的数组,最后一个参数代表步长
plt.subplot(221)
plt.plot(x,x,'ro',label='a')
plt.subplot(222)
plt.plot(x,x**2,'gs',label='b')
plt.subplot(223)
plt.plot(x,3*x,'y^',label='c')
plt.subplot(224)
plt.plot(x,2*x,'bv',label='d')

plt.show()

输出结果:
Python-使用pyplot模块绘图
说明:

  • plt.subplot(221)与plt.subplot(2,2,1)的含义相同,都表示将一个大图分割成2*2的四个小图,而1表示显示在第一小图中。
相关标签: pyplot