散点图
我们用随机分布来举例
n=1024
X=np.random.normal(0,1,n)
Y=np.random.normal(0,1,n)
T=np.arctan2(Y,X)#FOR COLOR VALUE
plt.scatter(X,Y,s=75,c=T,alpha=0.5)
plt.xlim((-1.5,1.5))
plt.ylim((-1.5,1.5))
plt.show()
效果如下
如果我们需要隐藏tick的值只需要添加
plt.xticks(())
plt.yticks(())
效果如下:
柱状图
我们先给出如下前提
n=12
X=np.arange(n)
Y1=(1-X/float(n))*np.random.uniform(0.5,1.0,n)
Y2=(1-X/float(n))*np.random.uniform(0.5,1.0,n)
plt.xlim(-.5,n)
plt.xticks(())
plt.ylim(-1.25,1.25)
plt.yticks(())
plt.show()
开始做柱状图
plt.bar(X,+Y1)
plt.bar(X,-Y2)
效果如下
如果我们需要更换颜色或者加标签我们则需:
plt.bar(X,+Y1,facecolor='#9999ff',edgecolor='white')
plt.bar(X,+Y1,facecolor='#ff9999',edgecolor='white')
效果如下
如果我需要加标签,则需要
for x,y in zip(X,Y1):
#ha:对齐方式
plt.text(x+0.4,y+0.05,'%.2f'%y,ha='center',va='bottom')
for x,y in zip(X,Y2):
#ha:对齐方式
plt.text(x+0.4,-y-0.1,'%.2f'%y,ha='center',va='bottom')
效果如下
等高线图
先给出前提条件
def f(x,y):
#计算高度
return(1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
n=256
x=np.linspace(-3,3,n)
y=np.linspace(-3,3,n)
plt.xticks(())
plt.yticks(())
plt.show()
我们首先要定义X,Y。因为等高线是一个网格。
X,Y=np.meshgrid(x,y)
#填充颜色
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)
效果如下
我们发现这只有等高,没有线,所以我们加入等高线。
C=plt.contour(X,Y,f(X,Y),8,colors='black',linewidths=.5)
#8的意思是将高度分为了十部分
效果如下
如果我们想要加入数字描述:
plt.clabel(C,inline=True,fontsize=10)
效果如下