函数积分图
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import Polygon
def func(x):
return -(x-2)*(x-8)+40
x=np.linspace(0,10)
y=func(x)
ax=plt.subplot()
plt.plot(x,y,'r',linewidth=2)
a=2
b=9
ax.set_xticks([a,b])
ax.set_yticks([])
ax.set_xticklabels([r'$a$',r'$b$'])
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
poly=Polygon(verts,facecolor='0.5',edgecolor='0.1')
ax.add_patch(poly)
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
x_match=(a+b)*0.5*0.7
y_match=35
plt.text(x_match,y_match,r'$\int_a^b(-(x-2)*(x-8)+40dx$',fontsize=15,horizontalalignment='center')
plt.show()
散点条形图
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('ggplot')
x=np.random.randn(200)
y=x+np.random.randn(200)*0.5
margin_border=0.1
width=0.6
margin_between=0.02
height=0.2
left_s=margin_border
bottom_s=margin_border
height_s=width
width_s=width
left_x=margin_border
bottom_x=margin_border+width+margin_between
height_x=height
width_x=width
left_y=margin_border+width+margin_between
bottom_y=margin_border
height_y=width
width_y=height
plt.figure(1,figsize=(8,8))
rect_s=[left_s,bottom_s,width_s,height_s]
rect_x=[left_x,bottom_x,width_x,height_x]
rect_y=[left_y,bottom_y,width_y,height_y]
axScatter=plt.axes(rect_s)
axHisX=plt.axes(rect_x)
axHisY=plt.axes(rect_y)
axHisX.set_xticks([])
axHisY.set_yticks([])
axScatter.scatter(x,y)
bin_width=0.25
xymax=np.max([np.max(np.fabs(x)),np.max(np.fabs(y))])
lim=int(xymax/bin_width+1)*bin_width
axScatter.set_xlim(-lim,lim)
axScatter.set_ylim(-lim,lim)
bins=np.arange(-lim,lim+bin_width)
axHisX.hist(x,bins=bins)
axHisY.hist(y,bins=bins,orientation='horizontal')
axHisX.set_xlim(axScatter.get_xlim())
axHisY.set_xlim(axScatter.get_ylim())
plt.show()
球员能力值
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)
plt.style.use('ggplot')
ax1=plt.subplot(111,projection='polar')
ability_size=6
ability_label=[u'进攻',u'防守',u'盘带',u'速度',u'体力',u'射术',]
player={'M':np.random.randint(size=ability_size,low=80,high=99)}
theta=np.linspace(0,2*np.pi,6,endpoint=False)
theta=np.append(theta,theta[0])
player['M']=np.append(player['M'],player['M'][0])
ax1.plot(theta,player['M'],'r')
ax1.fill(theta,player['M'],'r',alpha=0.3)
ax1.set_xticks(theta)
ax1.set_xticklabels(ability_label,y=0.01,fontproperties=font)
ax1.set_title(u'梅西',fontproperties=font,color='r',size=20)
plt.show()