向 Matplotlib 等高线图添加水流箭头

2024-04-29

我正在使用 Matplotlib 生成地下水高程等值线。见下文

Here is what I have now; how can I add water flow arrows like the image below? enter image description here

I want to add arrows to make it look like this: Groundwater Contour with Arrows

如果有人有一些想法和/或代码示例,我们将不胜感激。


您需要最新 (>= 1.2) 版本的 matplotlib,但是streamplot http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.streamplot做这个。您只需要采用头部的负梯度(也称为地表含水层的“地下水位”)网格。

作为从头部随机点观察生成的一个简单示例:

import numpy as np
from scipy.interpolate import Rbf
import matplotlib.pyplot as plt
# Make data repeatable
np.random.seed(1981)

# Generate some random wells with random head (water table) observations
x, y, z = np.random.random((3, 10))

# Interpolate these onto a regular grid
xi, yi = np.mgrid[0:1:100j, 0:1:100j]
func = Rbf(x, y, z, function='linear')
zi = func(xi, yi)

# -- Plot --------------------------
fig, ax = plt.subplots()

# Plot flowlines
dy, dx = np.gradient(-zi.T) # Flow goes down gradient (thus -zi)
ax.streamplot(xi[:,0], yi[0,:], dx, dy, color='0.8', density=2)

# Contour gridded head observations
contours = ax.contour(xi, yi, zi, linewidths=2)
ax.clabel(contours)

# Plot well locations
ax.plot(x, y, 'ko')

plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向 Matplotlib 等高线图添加水流箭头 的相关文章

随机推荐

  • 如何在 uiview 中添加边框?

    我有一个 uiview 我想在这个 UIVIew 旁边添加一个边框 大约占 UIView 的 75 任何人都可以帮忙解决这个问题吗 我可以找到将边界绘制到外面的解决方案 好吧 不只是可以设置一个小属性来将边框与外部对齐 它向内部对齐绘制 因
  • d3.js v4 中的 d3.locale(),本地化

    我正在使用 d3 js 制作图表 现在想将其更新到 v4 结果发现d3 locale 由于所有日期格式的翻译都采用不同的语言 因此不再起作用 我该如何解决这个问题 我正在挖掘论坛 但对于 v4 我并没有真正找到它 你必须使用d3 timeF
  • Fortran 函数:指针作为实际参数,目标作为形式

    我正在尝试破译 Fortran 代码 它将指向函数的指针作为实际参数传递 而形式参数则是目标 它在主程序中定义并分配一个 globalDATA 类型的指针 然后调用一个传递该指针的函数 module dataGLOBAL type glob
  • 使用 Jenkins 作业将 Helm 图表部署到 Kubernetes

    我想创建一个 Jenkins 作业 将 Helm Chart 部署到 Kubernetes 集群中 Helm 图表存储在 Bitbucket 存储库中 pipeline agent any stages stage Download Hel
  • 如何快速计算集合的所有交集的包含顺序

    这是后续如何在python中快速获取集合的所有交集 https stackoverflow com questions 37622153 我有一个整数有限集合 Ai 的有限集合 A A1 Ak 我想计算Python下列 A 子集的所有交集
  • Web Audio Api:如何添加工作卷积器?

    我想学习 做的事情 如何使用脉冲响应在下面的代码沙箱中设置一个简单的工作卷积器 混响 我认为这与设置过滤器类似 但事情似乎完全不同 我尝试过的 与所有新技术一样 事物变化很快 因此很难知道哪些实施是正确的 哪些实施是错误的 我查看了无数的
  • Android 中使用 Base64 编码的公钥进行 RSA 加密

    如何使用base 64编码的公钥对字节数组进行RSA加密 在阅读了几篇关于如何在 Java 中进行 RSA 加密的文章 谷歌搜索 后 发现了以下片段 public byte rsaEncrypt byte data PublicKey pu
  • RichTextFx CodeArea 中的文本背景颜色

    我正在使用 RichTextFx CodeArea 来突出显示我的代码 我想更改某些关键字的文本背景颜色并使用下面的 css parameter rtfx background color yellow But it s changes b
  • 警报和确认函数是内置于 JavaScript 中的,还是 DOM 的一部分?

    Are the alert and confirmJavaScript 中内置的函数 还是 DOM 的一部分 如果您能给我推荐一份参考资料 让我能够轻松了解 JavaScript 中直接内置了哪些函数 那就加分了 它们是通常所说的一部分DO
  • Google 地图小部件错误无法检索 com.google.android.libraries.consent 验证程序的标志快照

    当我进入带有 Google 地图小部件的页面时出现以下错误 W DynamiteModule 17290 Local module descriptor class for com google android gms googlecert
  • 如何通过反射获取当前属性名称?

    当我通过反射进入其中时 我想获取属性名称 是否可以 我有这样的代码 public CarType Car get return Wheel this Wheel set this Wheel value 因为我需要更多这样的属性 所以我想做
  • 如何通过 docker-php-ext-install 安装 php 扩展?

    为了解决问题 https stackoverflow com questions 37526509 how to install pdo driver in php docker image 我现在尝试通过安装 mysql pdo dock
  • 使用字典键和值填充 DataGridViewComboBoxColumn

    我有一本字典 其键为三个字母的国家 地区代码 其值为国家 地区名称 Dictionary
  • IIS 6 网站根目录与应用程序?解决Url()?

    IIS 6 ASP NET 3 5 C NET 我们遇到一个问题 即同一组文件的行为会有所不同 具体取决于它是根 IIS 网站还是 IIS 网站下的应用程序 使用生成的网址解析网址 http msdn microsoft com en us
  • 带下拉列表的过滤器 Laravel

    我有一个下拉菜单 用于按类别过滤图像 我的第一个问题是我希望在过滤器之后选择选定的选项 我该怎么做 这是我第一次使用 Laravel 我想知道我的解决方案是否朝着正确的方向前进 现在我在两个函数中有相同的代码 我计划修复这个问题 但我真的无
  • 在 Kubernetes API 中启用 CORS

    有没有办法在 Kubernetes API 上启用 CORS 以便我可以使用不同的域向 Kubernetes API 发送 ajax 请求 通过将 cors allowed origins http 参数添加到 etc default ku
  • MySQL:查询之间的最佳索引

    我有一个具有以下结构的表 CREATE TABLE geo ip id bigint 20 NOT NULL AUTO INCREMENT start ip int 10 unsigned NOT NULL end ip int 10 un
  • 在列表中组织 Android Realm 数据

    我正在考虑将我们当前的应用程序迁移到领域 并试图找出将数据组织成令的最佳方式 对于这个问题我将重点关注Photo我的数据模型的对象 但还有其他对象 我的所有数据对象均来自具有以下端点的 API getPopular getNearbyPho
  • 尝试向 HashSet 添加值不会更改其中值的数量

    我有一个HashSet当我使用Add集合方法 不添加任何内容 输出依然是2 3 5 7 11 13和输出 Count is 6 这是一个错误还是我在这里做错了什么 namespace AllerDiz class MainClass pub
  • 向 Matplotlib 等高线图添加水流箭头

    我正在使用 Matplotlib 生成地下水高程等值线 见下文 Here is what I have now how can I add water flow arrows like the image below I want to a