注释:
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(-10,11,1)
y=x**2
plt.plot(x,y)
plt.annotate(‘this is the bottom’,xy=(0,1),xytext=(0,20),arrowprops=dict(facecolor=‘r’,headlength=10,headwidth=30,width=10)) #xy表示箭头的起始坐标,xytext表示第一个字母的起始坐标
plt.show()
文字:
import matplotlib.pyplot as plt
plt.plot([0, 2], [0, 2])
plt.text(0.5, 1, 'put some text')
plt.show()
工具栏:
import matplotlib.pyplot as plt
fig=plt.figure()
ax=fig.add_subplot(111)
ax.set_xlim([1,7])
ax.set_ylim([1,5])
ax.text(2,4,r"$ \alpha_i \beta_j \pi \lambda \omega $",size=25)
ax.text(4,4,r"$ \sin(0)=\cos(\frac{\pi}{2}) $",suze=25)
ax.text(2,2,r"$ \lim_{x \rightarrow y} \frac{1}{x^3} $",size=25)
ax.text(4,2,r"$ \sqrt[4]{x}=\sqrt{y} $",size=25)
plt.show()
区域填充:
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,5*np.pi,1000)
y1=np.sin(x)
y2=np.sin(2*x)
--fill
plt.fill(x,y1,'b',alpha=0.3)
plt.fill(x,y2,'r',alpha=0.3)
plt.show()
--fill_between
fig=plt.figure()
ax=plt.gca()
ax.plot(x,y1,x,y2,color='black')
ax.fill_between(x,y1,y2,facecolor='blue')
plt.show()
--interplate=True自动填充空白部分
ax.plot(x,y1,color='r')
ax.plot(x,y2,color='b')
ax.fill_between(x,y1,y2,where=y1>=y2,facecolor='yellow',interplate=True)
ax.fill_between(x,y1,y2,where=y2>y1,facecolor='green',interplate=True)
plt.show()
形状:
import matplotlib.patches as mpatches
add_patch
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patches as mpatches
fig, ax=plt.subplots()
xy1=np.array([0.2,0.2])
xy2=np.array([0.2,0.8])
xy3=np.array([0.8,0.2])
xy4=np.array([0.8,0.8])
circle=mpatches.Circle(xy1,0.05)
ax.add_patch(circle)
rect=mpatches.Rectangle(xy2,0.2,0.1,color='r')
ax.add_patch(rect)
polygon=mpatches.RegularPolygon(xy3,5,0.1,color='g')
ax.add_patch(polygon)
ellipse=mpatches.Ellipse(xy4,0.4,0.2,color='y')
ax.add_patch(ellipse)
plt.axis('equal')
plt.grid()
格式美化:
import matplotlib.pyplot as plt
import numpy as np
fig, axes=plt.subplot(ncol=2,nrow=2)
ax1,ax2,ax3,ax4 = axes.ravel()
x, y= np.random.normal(size=(2,100))
ax1.plot(x,y,'o')
x=np.arange(0,10)
y=np.arange(0,10)
ncolors=len(plt.rcParams['axes.color_cycle'])
shift=np.linspace(0,10,ncolors)
for s in shift:
ax2.plot(x,y+s,'-')
x=np.arange(5)
y1,y2.y3=np/random.randint(1,25,size=(3,5))
width=0.25
ax3.bar(x,y1,width)
ax3.bar(x+width,y2,width,color=plt.rcParams['axes.color_cycle'][1])
ax3.bar(x+2*width,y2,width,color=plt.rcParams['axes.color_cycle'][2])
for i,color in enumerate(plt.rcParams['axes.color_cycl']):
xy=np.arange.normal(size=2)
ax4.add_patch(plt.Circle(xy,radius=0.3,color=color))
ax4.axis('equal')
plt.show()
plt.style.use('fivethirtyeight')