gpt4 book ai didi

python - 如何在 matplotlib 中使用 xy 数据设置 quiverkey 长度缩放?

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:52 25 4
gpt4 key购买 nike

我正在尝试设置绝对 quiverkey 箭头长度匹配我的 quiver 数据的特定箭头长度。有人可以告诉我 quiverkey 参数 U 是如何工作的,或者至少如何根据我的需要扩展它?

背景

Python 版本:3.6.5

matplotlib 版本:3.0.0

最小示例

我稍微修改了示例:https://matplotlib.org/gallery/images_contours_and_fields/quiver_simple_demo.html#sphx-glr-gallery-images-contours-and-fields-quiver-simple-demo-py

import matplotlib.pyplot as plt
import numpy as np

X = np.arange(-10, 11, 2)
Y = np.arange(-10, 11, 2)
U, V = np.meshgrid(X, Y)

# calculate length of each arrow
data_arrow_length = np.abs(np.sqrt(np.square(U[:]) + np.square(U[:])))

# set displayed arrow length for longest arrow
displayed_arrow_length = 2

# calculate scale factor for quiver
scale_factor = np.max(data_arrow_length)/displayed_arrow_length

# mysterious arrow length for quiverkey
quiverkey_length = 200

fig, ax = plt.subplots()
q = ax.quiver(X, Y, U, V, pivot='middle',
units='xy', width=0.1,
scale=scale_factor, scale_units='xy')
ax.quiverkey(q, X=0.3, Y=1.1, U=quiverkey_length,
label='Quiver key, length = 10', labelpos='E')

plt.show()

这样我就可以使用 displayed_arrow_length 控制 quiver 显示的最大箭头长度。在此示例中,最大 data_arrow_length 约为。 14 并根据 xy 数据以箭头长度 2 显示。

问题

如果我运行上面的例子,我会得到:

Small plot

但是,如果我最大化我得到的图形窗口:

Large plot

quiverkeyarrow-length 与我的 quiver 箭头不成比例,我不得不使用一个随机高的数字让 quiverkey_length 完全出现.

问题

我想将 quiverkey 箭头长度设置为使用 quiver 显示的特定值,例如 10。但是,它似乎没有随数据缩放根本。我怎样才能做到这一点?

最佳答案

看来这是 matplotlib 中的一个错误,现在已修复。

related github issue

关于python - 如何在 matplotlib 中使用 xy 数据设置 quiverkey 长度缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54769275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com