python数据可视化分析-matplotlib. 注释,文字,tex公式,工具栏,区域填充,形状,样式-美化

https://matplotlib.org/api/index.html#usage-patterns
1、注释

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
y=x*x
plt.plot(x,y)
--xy是箭头坐标,xytext是这行字首字母坐标,facecolor是箭头颜色,frac箭头占长度的比例,headwidth最前面头的大小,width是箭身宽度
plt.annotate('this is the bottom',xy=(0,1),xytext=(0,20),arrowprops=dict(facecolor='r',frac=0.2,headwidth=10,width=10))
plt.show()

2、文字
可在官网查看各种表示

import matplotlib.pyplot as plt
import numpy as np
x=np.arange(-10,11,1)
y=x*x
plt.plot(x,y)
plt.text(-2,40,'function:y=x*x',family='serif',size=20,color='r',style='italic',weight=0)
plt.text(-2,20,'function:y=x*x',family='sans-serif',size=20,color='g',style='oblique',weight='black',bbox=dict(facecolor='r',alpha=0.2))
plt.show()    

3、Tex公式
matplotlib自带mathtext引擎,不需安装tex系统。
$作为开始和结束符

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()

4、工具栏

import matplotlib.pyplot as plt
import numpy as np
N=1000
x=np.random.rand(N)
y=np.random.rand(N)
colors=np.random.rand(N)
area=np.pi*(15*np.random.rand(N))**2
plt.scatter(x,y,s=area,c=colors,alpha=0.5)
plt.show()

5、区域填充
对曲线下面或者曲线之间的区域进行填充
fill,fill_between

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()

6、形状
生成形状,patches

import matplotlib.patches as mpatches
add_patchimport 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()

7、样式-美化

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.25ax3.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()    加在import下面
plt.style.use('ggplot')在console上可以查看有哪些方法:
print plt.style.availableplt.style.use('fivethirtyeight')


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部