绘制散点图主要利用scatter()方法,具体属性见代码
import matplotlib.pyplot as plt
import numpy as np
n =1024
X =np.random.normal(0,1,n)#正太分布
Y =np.random.normal(0,1,n)
T =np.arctan2(Y,X)#输入X,Y为两个数组,从而定义每个点的颜色
''arctan2函数参考网址:https://numpy.org/doc/stable/reference/generated/numpy.arctan2.html''
plt.scatter(X,Y,s=20,marker='^',c= T,alpha=0.5)
#marker为散点的形状;s为散点的尺寸;c为散点图的颜色
#plt.scatter(np.arange(5),np.arange(5))
plt.xticks(())#清除刻度
plt.yticks(())#清除刻度
plt.show()
绘制柱状图主要利用bar(x,y,width=’ ‘,facecolor=’ ‘,edgecolor=’ ‘,label=’ ')
m=12
X=np.arange(m)
Y1=(1-X/float(m)*np.random.uniform(0.5,1.0,m))
Y2=(1-X/float(m)*np.random.uniform(0.5,1.0,m)) plt.bar(X,+Y1,facecolor= 'red',edgecolor='white')
#画柱状图
plt.bar(X,-Y2,facecolor= 'yellow',edgecolor='white')
for x,y in zip(X,Y1):
plt.text(x,y+0.05,'%.2f'%y,ha='center',va='bottom')#加入标注
for x,y in zip(X,Y2):
plt.text(x,-y-0.05,'%.2f'%y,ha='center',va='top')
plt.xlim(-5,12)
plt.xticks(())
plt.ylim(-1.25,1.25)
plt.yticks(()
plt.show()
绘制等高线图主要利用contourf()和contour(),详见代码
def f(x,y):
return(1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
p=256
x=np.linspace(-3,3,p)
y=np.linspace(-3,3,p)
X,Y=np.meshgrid(x,y)
plt.contourf(X,Y,f(X,Y),5,alpha=0.75,cmap=plt.cm.hot)#地形图色域设定
''数字5代表的是绘制5+1条等高线,具体作用可以调参试看
C=plt.contour(X,Y,f(X,Y),5,colors='black',linewidth=.5)#分界线参数设定
plt.xticks(())
plt.yticks(())
plt.show()