温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python matplotlib怎么绘制各种流线图

发布时间:2021-12-04 15:10:22 来源:亿速云 阅读:615 作者:iii 栏目:开发技术

本篇内容介绍了“Python matplotlib怎么绘制各种流线图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    流线图概述

    什么是流线图?

    • 流线图通过流线和箭头的组合绘制,来表示某一时段流线的运行情况、

    • 流线图上的箭头表示流向,流线上的形状表示流强度

    • 流线图可分为气流图、等风速线、变高图等

    • 流线图中的流线可以合并、汇合、分交,但不能交叉

    流线图应用场景

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

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

    获取流线图方法

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

    流线图属性

    设置流线图密度

    关键字:density

    默认值为:1

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

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

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

    设置流线宽度

    关键字:linewidth

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

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

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

    设置流线颜色

    关键字:color

    取值可为:

    • 表示颜色的英文单词:如绿色"g"

    • 表示颜色单词的简称如:红色"r",黄色"y"

    • RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式

    • 可以转入颜色列表

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

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

    plt.show()

    Python matplotlib怎么绘制各种流线图

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

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

    Python matplotlib怎么绘制各种流线图

    小试牛刀

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

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

    Python matplotlib怎么绘制各种流线图

    “Python matplotlib怎么绘制各种流线图”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI