1.线形图
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
np.random.seed(42) #设置随机种子
x=np.random.randn(30)
plt.plot(x,"r--o")
运行结果:
2.线条颜色、标记形状和线性
用于设置线型图中线条颜色的常用参数
b | 指定绘制的线条颜色为蓝色 |
g | 指定绘制的线条颜色为绿色 |
r | 指定绘制的线条颜色为红色 |
c | 指定绘制的线条颜色为蓝绿色 |
m | 指定绘制的线条颜色为洋红色 |
y | 指定绘制的线条颜色为黄色 |
k | 指定绘制的线条颜色为黑色 |
w | 指定绘制的线条颜色为白色 |
用于设置线型图中标记参数点形状的常用参数
o | 指定标记实际点使用的形状为圆形 |
* | 指定标记实际点使用“*”符号 |
+ | 指定标记实际点使用“+”符号 |
x | 指定标记实际点使用“x”符号 |
用于设置线型图中连接参数点线条形状的常用参数
- | 指定线条形状为实线 |
-- | 指定线条形状为虚线 |
-. | 指定线条形状为点实线 |
: | 指定线条形状为点线 |
代码示例:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
a=np.random.randn(30)
b=np.random.randn(30)
c=np.random.randn(30)
d=np.random.randn(30)
plt.plot(a,"r--o",b,"b-*",c,"g-.+",d,"m:x")
运行结果:
3.标签和图例
代码示例:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
np.random.seed(42)
x=np.random.randn(30)
y=np.random.randn(30)
plt.title("Example")
plt.xlabel("X") #设置标签
plt.ylabel("Y")
X, =plt.plot(x,"r--o")
Y, =plt.plot(y,"b-*")
plt.legend([X,Y],["X","Y"])#设置图例,第一个列表参数是在图中实际使用的标记和线形,第二个列表参数是对应图例的文字描述
运行结果:
4.子图
将多个图像同时显示在不同的位置上,需要使用子图。
代码示例:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
a=np.random.randn(30)
b=np.random.randn(30)
c=np.random.randn(30)
d=np.random.randn(30)
fig=plt.figure() #定义一个实例
ax1=fig.add_subplot(2,2,1) #使用add_subplot()方法向fig实例中添加子图,(2,2,1)表示将整块图分成两行两列,共四个子图,使用第一张子图进行绘制。
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)
A, =ax1.plot(a,"r--o")
ax1.legend([A],["A"])
B, =ax2.plot(b,"b-*")
ax2.legend([B],["B"])
C, =ax3.plot(c,"g-.+")
ax3.legend([C],["C"])
D, =ax4.plot(d,"m:x")
ax4.legend([D],["D"])
运行结果:
5.散点图
代码示例:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
np.random.seed(42)
x=np.random.randn(30)
y=np.random.randn(30)
plt.scatter(x,y,c="g",marker="o",label="(X,Y)")
plt.title("Example")
plt.xlabel("X")
plt.ylabel("Y")
plt.legend(loc=1)
plt.show()
运行结果:
说明:绘制散点图的核心代码是plt.scatter(x,y,c="g",marker="o",label="(X,Y)"),其中,参数c指定散点图中绘制的参数点的颜色;参数marker指定散点图中绘制的参数点使用的形状;参数label指定在散点图中绘制的参数点使用的图例,这与线型图的图例不同。plt.legend(loc=1)对图例的位置进行强制设定,一般有以下几种:
(1)“loc=0”:图例使用最好的位置。
(2)“loc=1”:强制图例使用图中右上角的位置。
(3)“loc=2”:强制图例使用图中左上角的位置。
(4)“loc=3”:强制图例使用图中左下角的位置。
(5)“loc=4”:强制图例使用图中右下角的位置。
6.直方图
直方图又称质量分布图,是一种统计报告图,通过使用一系列高度不等的纵向条纹或直方表示数据分布的情况,一般用横轴表示数据类型,用纵轴表示分布情况。
代码示例:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
np.random.seed(42)
x=np.random.randn(1000)
plt.hist(x,bins=20,color="g") #bins用于指定绘制直方图条纹的数量。
plt.title("Example")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
运行结果:
7.饼图
代码示例:
import matplotlib.pyplot as plt
%matplotlib inline
labels = ['dog','cat','bird']
sizes = [15,50,35]
plt.pie(sizes,explode=(0,0,0.1),labels=labels,autopct="%1.1f%%",startangle=90)
plt.axis('equal')
plt.show()
运行结果:
说明: 绘制饼图的核心代码是plt.pie(sizes,explode=(0,0,0.1), labels=labels,autopct="%1.1f%%", startangle=90),其中,sizes确定了每部分数据系列在整个圆形中的占比;explode定义了每部分数据系列之间的间隔,设置两个0和一个0.1,就能突出第3部分;autopct将sizes中的数据以所定义的浮点精度进行显示;startangle是绘制第1块饼图时,该饼图与X轴正向的夹角度数,默认为0。plt.axis('equal')是必不可少的,用于使X轴和Y轴的刻度保持一致,只有这样,最后得到的饼图才是圆形的。