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)#用于计算颜色
plt.scatter(X,Y,s=75,c=T,alpha=0.5)#alpha是透明度#plt.scatter(np.arange(5),np.arange(5)) #一条线的散点图
plt.xlim((-1.5,1.5))
plt.ylim((-1.5,1.5))
plt.xticks(())#把x坐标刻度去掉
plt.yticks(())
plt.show()
3.2柱状图
import matplotlib.pyplot as plt
import numpy as np
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.bar(X,+Y1,facecolor ='#9999ff',edgecolor ='white')
plt.bar(X,-Y2,facecolor ='#ff9999',edgecolor ='white')for x,y inzip(X,Y1):
plt.text(x+0.4,y+0.05,'%.2f'%y,ha ='center',va ='bottom')#+0.4,+0.05是为了标注不太拥挤,ha是横向对齐,va是纵向对齐for x,y inzip(X,-Y2):
plt.text(x+0.4,y-0.05,'-%.2f'%y,ha ='center',va ='top')
plt.xlim(-.5,n)
plt.xticks(())
plt.ylim(-1.25,1.25)
plt.yticks(())
plt.show()
3.3Contours等高线图
import matplotlib.pyplot as plt
import numpy as np
deff(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)
X,Y = np.meshgrid(x,y)#网格的输入()等高线地图是个网格
plt.contourf(X,Y,f(X,Y),8,alpha =0.75,cmap = plt.cm.hot)#plt.cm.hot是将数值转换为颜色,8代表背景分成n+2类
C = plt.contour(X,Y,f(X,Y),8,colors='black',linewidths=.5)#等高线的绘制,8代表分成n+2类(多少个等高线)
plt.clabel(C,inline=True,fontsize =10)#标签
plt.xticks(())
plt.yticks(())
plt.show()
3.4 image图片
import matplotlib.pyplot as plt
import numpy as np
# image data
a = np.array([0.313660827978,0.365348418405,0.423733120134,0.365348418405,0.439599930621,0.525083754405,0.423733120134,0.525083754405,0.651536351379]).reshape(3,3)
plt.imshow(a, interpolation='nearest', cmap='bone', origin='lower')#lower是递增,upper是递减
plt.colorbar(shrink=.92)#压缩了到原来的0.92
plt.xticks(())
plt.yticks(())
plt.show()
3.5 3D数据
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)#3D坐标轴
X = np.arange(-4,4,0.25)
Y = np.arange(-4,4,0.25)
X,Y = np.meshgrid(X,Y)
R = np.sqrt(X**2+Y**2)
Z = np.sin(R)
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))"""
============= ================================================
Argument Description
============= ================================================
*X*, *Y*, *Z* Data values as 2D arrays
*rstride* Array row stride (step size), defaults to 10
*cstride* Array column stride (step size), defaults to 10
*color* Color of the surface patches
*cmap* A colormap for the surface patches.
*facecolors* Face colors for the individual patches
*norm* An instance of Normalize to map values to colors
*vmin* Minimum value to map
*vmax* Maximum value to map
*shade* Whether to shade the facecolors
============= ================================================
"""
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap ='rainbow')#等高线
ax.set_zlim(-2,2)
plt.show()