文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pythonmatplotlib如何绘制各种流线图

2024-04-02 19:55

关注

前言

在Python关于绘图,Mlab提供开源的matplotlib模块,不仅可以绘制折线图、柱状图、散点图等常规图外,还支持绘制量场图、频谱图、提琴图、箱型图等特殊图,例举往期文章可前往查看详情。

我们日常生活中经常会关注天气预报,在换季的时候,播报员会讲解气流流动情况。在天气预报过程中,气象专家们会根据流线图绘制的气流情况,来预测当地的天气情况。

本期,我们将学习matplotlib.pyplot.streamplot()方法相关属性的学习,let's go~

流线图概述

什么是流线图?

流线图应用场景

流线图通常用于气象学中研究风速、气流、洋流的流向情况

流程图是风场分析的重要图表,流线的稀密度与风速大小成正比

获取流线图方法


import matplotlib.pyplot as plt 
plt.streamplot(x,y,u,v)

流线图属性

设置流线图密度

关键字:density

默认值为:1

取值类型为:浮点型或者元组

控制流线图密度,当density=1时,网格会被划分为30*30网格

对于设置每个方向上密度,可以使用元组(x,y)

设置流线宽度

关键字:linewidth

取值类型为:浮点型或者二维数组

使用二维数组,可以改变流线在网格上的线宽

阵列的形状必须要与u、v相同

设置流线颜色

关键字:color

取值可为:

当使用cmap时,则需要color设置为二维数组,否则无效

设置流线缩放

关键字:norm

默认为将流线拉伸到(0,1)

仅在颜色为数组时使用

设置流线颜色系

关键字:cmap

取值形式为:颜色表_r

可取值常用的有:'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens'

绘制流线图步骤

导入matplotlib.pyplot类


import matplotlib.pyplot as plt

调用numpy库arange()、random()、randint()等准备x,y,u,v数据


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,density=[0.5,1])

调用pyplot.show()渲染显示出流线图


plt.show()

设置linewidth、color、cmap属性绘制流线图


plt.streamplot(x,y,u,v,density=[0.5,1],color=u,cmap="Accent_r",linewidth=3)

小试牛刀

我们学习了关于绘制流线图相关属性,我们来实操一下控制流线的起点数据


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="autumn",linewidth=1,start_points=seed_points.T)
plt.plot(seed_points[0],seed_points[1],"^",color="b")
 
plt.show()

总结

本期,我们对matplotlib.pyplot提供streamplot()方法绘制流线图相关属性的学习。流线图通常使用在气象学中,研究气流变化情况。 

以上就是Python matplotlib如何绘制各种流线图的详细内容,更多关于Python matplotlib绘制流线图的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯