matplotlib:大矢量范围的颤抖图缩放

时间:2018-12-07 11:14:06

标签: python python-3.x matplotlib

我有一个数据集,该数据集的矢量值范围相对较大,我正在使用matplotlib的quiver()函数进行绘制。该范围可以合理地达到2个数量级(10到1000),但高端甚至可以更高。

我遇到的问题是我找不到正确的缩放选项来创建合理的颤动图。我已经尝试过使用颤抖图** kwargs(“ scale”,“ units”和“ scale_units”),以及对实际数据进行规范化和/或缩放,但我看不出有什么能使鉴于我事先不知道输入的实际范围。

一个非常简单的例子:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(121)
ax.quiver((100, 75, 50), (100, 100, 100), (0, 0, 0), (1000, 100, 10), scale_units='xy', scale=1)
plt.axis('equal')
plt.grid(True)
ax2 = fig.add_subplot(122)
ax2.quiver((100, 75, 50), (100, 100, 100), (0, 0, 0), (1000, 100, 10), scale_units='xy', scale=None)
plt.axis('equal')
plt.grid(True)
ax.set_title('scale=1')
ax2.set_title('scale=None')
plt.show()

该示例仅演示了quiver()中的2个可用的缩放比例选项,但是如您在左侧图上看到的,最大的力远离图,而在右侧图上,甚至没有可见较小的力。情节。

任何人都有关于如何在此处设置缩放比例的建议,而无需事先知道实际用户输入的范围是什么?

如果有帮助,位置距离已知点的英寸数(英寸),可能在36“ -200”的范围内,而矢量的作用力如前所述,可能在10lbf至1000lbf左右。

谢谢。

0 个答案:

没有答案