40题matplotlib从入门到精通
导入
- 导入matplotlib库简写为plt
import matplotlib.pyplot as plt
import numpy as np
基本图表
- 用plot方法画出x=(0,10)间sin的图像
x=np.linspace(0,10,100)
plt.plot(x,np.sin(x))
plt.show()
3. 用加点线的方式画出x=(0,10)间sin的图像
x=np.linspace(0,10,100)
plt.plot(x,np.sin(x),'-o')
plt.show()
4. 用scatter方法画出x=(0,10)间sin的点图像
x=np.linspace(0,10,100)
plt.scatter(x,np.sin(x))
plt.show()
5. 用饼图的面积及颜色展示一组4维数据
rng=np.random.RandomState(0)
x=rng.randn(100)
y=rng.randn(100)
colors=rng.rand(100)
sizes=1000*rng.rand(100)
plt.scatter(x,y,c=colors,s=sizes,alpha=0.6,cmap='viridis')
plt.colorbar()
plt.show()
6. 绘制一组误差为±0.6的数据的误差条图
x=np.linspace(0,10,50)
dy=0.6
y=np.sin(x)+dy*np.random.randn(50)
plt.errorbar(x,y,yerr=dy,fmt='o',ecolor='hotpink')
plt.show()
7. 绘制一个柱状图
x=[1,2,3,4,5,6,7,8]
y=[3,1,4,5,8,9,7,2]
label=(['A','B','C','D','E','F','G','H'])
plt.bar(x,y,tick_label=label)
plt.show()
8. 绘制一个水平方向柱状图
x=[1,2,3,4,5,6,7,8]
y=[3,1,4,5,8,9,7,2]
label=(['A','B','C','D','E','F','G','H'])
plt.barh(x,y,tick_label=label)
plt.show()
9. 绘制1000个随机值的直方图
data=np.random.randn(1000)
plt.hist(data)
plt.show()
10. 设置直方图分30个bins,并设置为频率分布
data=np.random.randn(1000)
plt.hist(data,bins=30,histtype='stepfilled')
plt.show()
11. 在一张图中绘制3组不同的直方图,并设置透明度
x1=np.random.normal(0,0.8,1000)
x2=np.random