- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试用 windrose 的 4 个子图制作一个图形,但我意识到 windrose 只有这样的轴:ax = WindroseAxes.from_ax()
那么,我该如何绘制子图用风玫瑰?
最佳答案
有两种解决方法:
首先这里已经有一个类似的问题:How to add specific axes to matplotlib subplot?
在那里,解决方案是创建一个矩形 rect
,其中包含图中新子图轴的坐标,然后调用 ax = WindroseAxes(fig, rect)
一个更容易理解的例子是
from windrose import WindroseAxes
from matplotlib import pyplot as plt
import numpy as np
ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
fig=plt.figure()
rect=[0.5,0.5,0.4,0.4]
wa=WindroseAxes(fig, rect)
fig.add_axes(wa)
wa.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')
plt.show()
现在创建这个矩形可能会很烦人,如果能够使用 matplotlib 子图功能会好得多。
已提出的一个建议here是将 WindroseAxes
注册为 matplotlib 的投影。为此,您需要编辑 site-packages/windrose 中的文件 windrose.py,如下所示:
from matplotlib.projections import register_projection
。然后添加一个名称变量:
class WindroseAxes(PolarAxes):
name = 'windrose'
...
最后,在 windrose.py 的末尾添加:
register_projection(WindroseAxes)
完成后,您可以使用 matplotlib 轴的投影参数轻松创建 windrose 轴:
from matplotlib import pyplot as plt
import windrose
import matplotlib.cm as cm
import numpy as np
ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
fig = plt.figure()
ax = fig.add_subplot(221, projection="windrose")
ax.contourf(wd, ws, bins=np.arange(0, 8, 1), cmap=cm.hot)
ax.legend(bbox_to_anchor=(1.02, 0))
plt.show()
关于python - matplotlib 中 Windrose 的子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733194/
我是Python的初学者。通过关注this例如,我尝试制作 Windrose 子图,例如: 但我以这种方式得到情节: The code that I tried is: ws = np.random.
我正在尝试根据一系列风速和方向值制作风向图。我知道如何编写原始程序来执行此操作,如下所示: from windrose import WindroseAxes from matplotlib impo
下面我使用基于 this 的 Windrose 绘制了风玫瑰图.首先,图例覆盖了玫瑰的一部分,但当我尝试使用 loc 设置其位置时,图例消失了。 其次,图例右括号是错误的,即 [0.0 : 1.0[
我正在使用 windrose.py 并且没有得到与其他人相同的样本结果。而不是“N”在顶部,我在图像顶部得到 90。每个方向我都有多个风速。我首先在一个方向上测试绘图。我不知道如何绘制其他 350 度
我有风数据,其中包括风速和风向。 但是,我的风向定义为逆时针方向。这意味着,我的数据的 45 度实际上是 NW。 是否有机会使用 Python 中的 Windrose 来更改此设置? 我有以下代码来绘
我正在尝试使用Python中的windrose模块在子图中绘制风玫瑰图 https://pypi.python.org/pypi/windrose/ 除了一些示例之外,没有太多文档,所以我不知道如何使
我是 Python 新手,正在尝试使用可在以下网站找到的 windrose.py 代码创建风向玫瑰:http://sourceforge.net/projects/windrose/ 以下是我正在运行
我正在使用 Highcharts 4.15,我想显示我的风玫瑰图的堆栈标签,但它没有按我的预期工作。这里是一个例子:http://jsfiddle.net/Paulson/xdvaecff/ yAxi
到目前为止,我一直在尝试移动 yticklabel,但没有成功。无论verticalalignment 和horizontalalignment 是什么,yticklabel 的位置(在本例中为
我发现了 this模块效果很好,我喜欢输出。我正在尝试更改随机输入的值,此处: ws = random(500)*6 wd = random(500)*360 来自 this reference我们了
在 tkinter 窗口中绘制 Windrose 时遇到一些问题。我无法让风玫瑰自行显示,窗口在绘图后面显示另一个网格(见下图)。有什么方法可以让它只显示风玫瑰而不在背景中显示额外的网格?最终代码将每
我正在尝试用 windrose 的 4 个子图制作一个图形,但我意识到 windrose 只有这样的轴:ax = WindroseAxes.from_ax() 那么,我该如何绘制子图用风玫瑰? 最佳答
我正在尝试绘制具有分级浓度值的 windrose。遵循 this post 的建议和一些修改,我创建了一个情节。但是,在 0 度附近存在不连续性。任何帮助将不胜感激! 这是我的代码: wd = lis
我在这里(以及一般的网络开发)很新,所以请原谅我长期存在的任何误用...我正在尝试使用从 MesoWest Mesonet 返回的数据(以 JSON 格式)创建一个基本的风玫瑰图API服务。我正在使用
尝试绘制风向图,绘制速度和方向,浓度决定颜色。不幸的是,matplotlib 只支持两个变量。可以制作一个漂亮的散点图来显示我想要的内容,但不确定如何将它装箱,以便它像附件中的图像一样出现(Halli
我是一名优秀的程序员,十分优秀!