Python matplotlib如何绘制各种流线图

目录
  • 前言
  • 流线图概述
    • 什么是流线图?
    • 流线图应用场景
    • 获取流线图方法
  • 流线图属性
    • 设置流线图密度
    • 设置流线宽度
    • 设置流线颜色
    • 设置流线缩放
    • 设置流线颜色系
  • 绘制流线图步骤
  • 小试牛刀
  • 总结

前言

在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

取值可为:

  • 表示颜色的英文单词:如绿色"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()

设置linewidth、color、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="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绘制流线图的资料请关注我们其它相关文章!

(0)

相关推荐

  • python 用matplotlib绘制折线图详情

    目录 1. 折线图概述 1.1什么是折线图? 1.2折线图使用场景 1.3绘制折线图步骤 1.4案例展示 2. 折线2D属性 2.1linestyle:折线样式 2.2color:折线颜色 2.3marker:坐标值标记 2.4fillstyle:标记填充方法 2.5linewidth(lw): 直线宽度 3. 坐标管理 3.1坐标轴名字设置 3.2坐标轴刻度设置 3.3坐标轴位置设置 3.4指定坐标值标注 4. 多条折线展示图 5. 图列管理 复习回顾: 众所周知,matplotlib 是一款

  • Python用 matplotlib 绘制柱状图

    目录 1. 柱状图概述 1.1什么是柱状图 1.2柱状图使用场景 1.3柱状图绘制步骤 1.3案例展示 2. 柱状图属性 2.1柱状体颜色填充 2.2状描边设置 2.3状体边框宽度 2.4刻度标签 3. 堆叠柱状图 4. 并列柱状图 5. 水平柱状图 6. 添加折线柱状图 7. 正负柱状图 复习回顾: Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对matpl

  • Python利用 matplotlib 绘制直方图

    目录 1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示 2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4设置样式 3. 添加折线直方图 4. 堆叠直方图 5. 不等距直方图 6. 多类直方图 复习回顾: 经过前面对 matplotlib 模块从底层架构.基本绘制步骤等学习,我们已经学习了折线图.柱状图的绘制方法. matplotlib 模块基础:对matplotlib 模块常用方法进行学习 matplotlib 模

  • Python+matplotlib实现量场图的绘制

    目录 复习回顾 1. 量场图概述 什么是量场图? 量场图使用场景 绘制量场图方法 2. 量场图属性 设置颜色 设置透明度 设置向量箭头尺寸 设置坐标中向量箭头位置 设置向量箭头宽度 3. 绘制量场图步骤 4. 小试牛刀 总结 复习回顾 matplotlib 是基于Python语言的开源项目,pyplot提供一系列绘制2D图形的方法.随着版本的迭代,matplotlib 模块也支持绘制3D图形mplot3d工具包,制作动态图Animation类,对于动态图的制作也可以使用pyplot交互模式进行绘

  • Python matplotlib 绘制散点图详解建议收藏

    目录 前言 1. 散点图概述 什么是散点图? 散点图使用场景 绘制散点图步骤 案例展示  2. 散点图属性 设置散点大小 设置散点颜色 设置散点样式 设置透明度 设置散点边框 3. 添加折线散点图 4. 多类型散点图 5. 颜色条散点图 6. 曲线散点图 总结 前言 我们在matplotlib模块学习中,发现有常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图. 其实在数据统计图表中,有一种图表是散列点分布在坐标中,反应数据随着自变量变化的趋势. 本期,我们将详细

  • Python matplotlib如何绘制各种流线图

    目录 前言 流线图概述 什么是流线图? 流线图应用场景 获取流线图方法 流线图属性 设置流线图密度 设置流线宽度 设置流线颜色 设置流线缩放 设置流线颜色系 绘制流线图步骤 小试牛刀 总结 前言 在Python关于绘图,Mlab提供开源的matplotlib模块,不仅可以绘制折线图.柱状图.散点图等常规图外,还支持绘制量场图.频谱图.提琴图.箱型图等特殊图,例举往期文章可前往查看详情. 我们日常生活中经常会关注天气预报,在换季的时候,播报员会讲解气流流动情况.在天气预报过程中,气象专家们会根据流

  • Python+matplotlib+numpy绘制精美的条形统计图

    本文实例主要向大家分享了一个Python+matplotlib+numpy绘制精美的条形统计图的代码,效果展示如下: 完整代码如下: import matplotlib.pyplot as plt from numpy import arange from numpy.random import rand def gbar(ax, x, y, width=0.5, bottom=0): X = [[.6, .6], [.7, .7]] for left, top in zip(x, y): ri

  • Python+matplotlib实现绘制等高线图示例详解

    目录 前言 1. 等高线图概述 什么是等高线图? 等高线图常用场景 绘制等高线图步骤 案例展示 2. 等高线图属性 设置等高线颜色 设置等高线透明度 设置等高线颜色级别 设置等高线宽度 设置等高线样式 3. 显示轮廓标签 4. 填充颜色 5. 添加颜色条说明 总结 前言 我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图.柱状图.散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容) Python matplotlib底层原理解析 Python利用 m

  • Python matplotlib plotly绘制图表详解

    目录 一.整理数据 二.折线图 三.散点图 四.饼图 五.柱形图 六.点图(设置多个go对象) 七.2D密度图 八.简单3D图 一.整理数据 以300部电影作为数据源 import pandas as pd cnboo=pd.read_excel("cnboNPPD1.xls") cnboo import seaborn as sns import numpy as np import matplotlib as mpl from matplotlib import pyplot as

  • Python matplotlib 动画绘制详情

    目录 最最简单的操作 Animation类 FuncAnimation ArtistAnimation 动画保存 .save()函数 最最简单的操作 import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.subplots() x = np.linspace(0,10,100) y = np.sin(x) while True: ax.plot(x,y) plt.pause(1) ax.cla(

  • Python+Matplotlib实现绘制三维折线图

    目录 1.0简介 2.0三维图画法与类型 1.直线绘制(Line plots) 2.散点绘制(Scatter plots) 3.线框图(Wireframe plots) 4.三角表面图(Tri-Surface plots) 5.随机散点图 1.0简介 三维图像技术是现在国际最先进的计算机展示技术之一,任何普通电脑只需要安装一个插件,就可以在网络浏览器中呈现三维的产品,不但逼真,而且可以动态展示产品的组合过程,特别适合远程浏览. 立体图视觉上层次分明色彩鲜艳,具有很强的视觉冲击力,让观看的人驻景时

  • python matplotlib库绘制散点图例题解析

    假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23] b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,

  • python matplotlib库绘制条形图练习题

    练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机

  • python+matplotlib实现动态绘制图片实例代码(交互式绘图)

    本文研究的主要是python+matplotlib实现动态绘制图片(交互式绘图)的相关内容,具体介绍和实现代码如下所示. 最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似). Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统

  • python+matplotlib绘制饼图散点图实例代码

    本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下. 首先看下演示效果 实例代码: import numpy as np import matplotlib.pyplot as plt # first define the ratios r1 = 0.2 # 20% r2 = r1 + 0.4 # 40% # define some sizes of the scatter marker sizes = n

随机推荐