(1)、导入库
import numpy as np
import matplotlib.pyplot as plt
(2)、误差条形图
#误差条形图
x = np.arange(0,10,1) #生成一个数组
y = np.log(x) #根据x计算y值
xe = 0.1 * np.abs(np.random.randn(len(y))) #通过标准正态分布得出误差值
#将误差值赋值给yerr这个属性
plt.bar(x,y,yerr = xe, width = 0.4, align = 'center', ecolor = 'r', color = 'cyan', label = 'exxperiment #1')
plt.xlabel('# measurement') #x轴标签
plt.ylabel('Measured values') #y轴标签
plt.title('Measurement') #题目
plt.legend(loc = 'upper left') #图例放置的位置
在这里插入图片描述
(3)、饼图
#饼图
plt.figure(1, figsize = (8,8))
ax = plt.axes([0.1 ,0.1, 0.8, 0.8])
labels = 'Spring', 'Summer', 'Autumn', 'Winter'#标签
values = [15, 16, 16, 28] #数据集
explode = [0.1,0.1,0.1,0.1] #比例
#values代表数据,explode比例,label标签,autopct百分比的格式
plt.pie(values, explode= explode, labels = labels, autopct = '%1.1f%%')
plt.title('Rainy day by season') #设置标题
在这里插入图片描述
(4)、等高线图
#等高线图
import matplotlib as mpl
def process_signals(x,y):
return (1- (x**2 + y**2)) *np.exp(-y ** 3 / 3) #获取等高线的函数
x = np.arange(-1.5,1.5,0.1)
y = np.arange(-1.5,1.5,0.1)
X,Y=np.meshgrid(x, y)
Z = process_signals(X,Y)
N = np.arange(-1, 1.5, 0.3)
#Z代表等高线竖直,N代表水平数,linewidths代表线的宽度,cmap是设置颜色的
CS = plt.contour(Z, N ,linewidths = 2, cmap=mpl.cm.jet) #contour函数用来绘制等高线图,
plt.clabel(CS,inline = True, fmt = '%1.1f',fontsize = 10) #clabel增加标签
plt.colorbar(CS) #colorbar填充颜色
在这里插入图片描述
(5)、3D柱形图
#3D柱形图
import matplotlib.dates as mdates
from mpl_toolkits.mplot3d import Axes3D
import matplotlib as mpl
import numpy as py
mpl.rcParams['font.size'] = 10 #设定全局参数,字体大小
fig = plt.figure() #获取figure对象
ax = fig.add_subplot(111, projection = '3d') #获取Axes对象
for z in [2012,2013,2014,2015]:
xs= range(1,13) #随机生成x坐标
ys=1000*np.random.randn(12) #随机生成y坐标
color = plt.cm.Set2(py.random.choice(range(plt.cm.Set2.N))) #生成随机的颜色
#xs代表x轴,ys代表y轴,zs代表z轴,zdir代表垂直方向为y,颜色color
ax.bar(xs,ys,zs=z,zdir='y',color=color,alpha=0.8) #用bar增加3D图象
ax.xaxis.set_major_locator(mpl.ticker.FixedLocator(xs))
ax.yaxis.set_major_locator(mpl.ticker.FixedLocator (ys))
ax.set_xlabel('Month')
ax.set_ylabel('Year')
ax.set_zlabel('Sales Net [usd]')
在这里插入图片描述