在Python中,不仅可以绘制线图、直方图、散点图等规则图形,还支持绘制测量场图、频谱图、小提琴图、箱线图等特殊图形。本文将主要介绍如何绘制流线图,有需要的朋友可以参考一下。
目录
简介流线图概述什么是流线图?流线图应用场景获取流线图方法流线图属性设置流线图密度设置流线宽度设置流线颜色设置流线缩放设置流线颜色系统绘制流线图步骤小试总结
前言
至于用Python绘图,Mlab提供了开源的matplotlib模块,不仅可以绘制线图、条形图、散点图等规则图形,还支持绘制体积场图、频谱图、小提琴图、箱线图等特殊图形。具体可以参考之前的文章。
在日常生活中,我们经常关注天气预报。当季节变换时,播音员会解释气流。在天气预报的过程中,气象学家会根据流线图绘制的气流情况来预测当地的天气情况。
本期我们将学习matplotlib.pyplot.streamplot()方法的相关属性,走吧~
流线图概述
什么是流线图?
流线图是由流线和箭头组合而成,用以表示流线在一定时间内的运行情况。
流线上的箭头表示流动方向,流线上的形状表示流动强度。
流线图可分为气流图、恒定风速线、立面图等。
流线图中的流线可以合并、归并、相交,但不能交叉。
流线图应用场景
气象学上通常用流线图来研究风速、气流和洋流的方向。
流程图是风场分析的重要图表,流线的稀疏密度与风速成正比。
获取流线图方法
将matplotlib.pyplot作为plt导入
plt.streamplot(x,y,u,v)
流线图属性
设置流线图密度
关键词:密度
默认值为:1
值类型是浮点或元组。
控制流线图的密度。当密度=1时,网格将被分成30*30个网格。
为了设置每个方向上的密度,可以使用元组(x,y)。
设置流线宽度
关键词:线宽
值类型是浮点或二维数组。
使用二维数组,可以改变网格上流线的线宽。
数组的形状必须与U和v相同。
设置流线颜色
关键词:颜色
这些值可以是:
表示颜色的英语单词:如绿色的g
代表颜色的单词的简称是红色的r和黄色的y
RGB格式:十六进制格式如' # 88c 999 ';(r,g,b)元组形式
你可以去颜色列表。
使用cmap时,需要将color设置为二维数组,否则无效。
设置流线缩放
关键词:规范
默认情况下,将流线拉伸到(0,1)。
仅在颜色是数组时使用。
设置流线颜色系
关键词:cmap
值的形式是:颜色表_r
常用的值有:' Accent ',' Accent _ R ',' Blues ',' Blues _ R ',' BRBG ',' BUGN ',' BUGN _ R ',' BUPU ',' BUPU _ R ',' CMRMAP '
绘制流线图步骤
导入matplotlib.pyplot类
将matplotlib.pyplot作为plt导入
调用arange()、random()和randint()等numpy库准备x、y、u、v数据。
x,y:一维数组/二维数组
u,v:二维数组
NP可以创建二维数组。meshgrid (x,y)和NP。mgrid()
x=np.arange(1,10)
y=np.arange(1,10)
u,v=np.meshgrid(np.sin(x),np.sin(y))
调用pyplot.streamplot()绘制流线图。
plt.streamplot(x,y,u,v,密度=[0.5,1])
调用pyplot.show()来渲染和显示流线图。
plt.show()
设置线宽,颜色,cmap属性来绘制流线图。
plt.streamplot(x,y,u,v,density=[0.5,1],color=u,cmap='Accent_r ',linewidth=3)
小试牛刀
我们已经了解了绘制流线图的相关属性。我们来练习一下控制流线的起点数据。
调用np.mgrid[]定义x,y二维数据。
调用pyplot.streamplot()方法绘制流线图。
调用pyplot.plot()方法绘制折线图,并用marker属性对其进行标记。
y,x=np.mgrid[-3:3:100j,-3:3:100j]
u=-1-x**2 y
v=1 x-y**2
seed_points=np.array([[-2,-1,0,1,2,-1],[-2,-1,0,1,2,2]])
plt.streamplot(x,y,u,v,density=0.6,color=u,cmap='秋',linewidth=1,start_points=seed_points。t)
plt.plot(seed_points[0],seed_points[1],'^',color='b')
plt.show()
总结
本期研究matplotlib提供的streamplot()方法的相关属性,pyplot流线图通常用于气象学中研究气流的变化。
以上是Python matplotlib如何绘制各种流程图的细节。关于Python matplotlib绘制流程图的更多信息,请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。