天天看点

Python-使用pyplot模块绘图

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

matplotlib.pyplot

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

1.最简单的使用

import matplotlib.pyplot as plt

plt.plot([,,,])
plt.show()
           

输出结果:

Python-使用pyplot模块绘图

说明:

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

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

import matplotlib.pyplot as plt

plt.plot([,,,],[,,,],'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的数组,最后一个参数代表步长
plt.plot(x,x,'ro',x,x**,'gs',x,x*,'y^',x,x*,'bv')#对于每对x、y,后接可选参数颜色+形状
plt.axis([, , , ])#限制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的数组,最后一个参数代表步长
plt.plot(x,x,'ro',label='a')
plt.plot(x,x**,'gs',label='b')
plt.plot(x,*x,'y^',label='c')
plt.plot(x,*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的数组,最后一个参数代表步长
plt.subplot()
plt.plot(x,x,'ro',label='a')
plt.subplot()
plt.plot(x,x**,'gs',label='b')
plt.subplot()
plt.plot(x,*x,'y^',label='c')
plt.subplot()
plt.plot(x,*x,'bv',label='d')

plt.show()
           

输出结果:

Python-使用pyplot模块绘图

说明:

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