2012年05月04日 星期五 06:22
http://matplotlib.sourceforge.net/examples/pylab_examples/polar_bar.html
2012年05月04日 星期五 18:30
2012年05月04日 星期五 20:08
坦白说发帖之前我都搜索到了以上你给的例子,对于菜鸟级的python使用者我来说第一次接触windrose这类图形疑问多多。
2012年05月04日 星期五 20:23
那你先把你搜索到的内容,和已经做出的效果贴出来,包括数据和程序,然后说说还有哪些需要改进。这样我才好在你已经做出来的基础之上修改。
我看上面的那个链接中的图已经和你给的那个图很接近了啊。
2012年05月05日 星期六 01:16
以上代码得到的结果图如下所示:
请斑竹帮忙修改成1楼那样的 colorbar 风速 和 半径以百分比显示。
而且左下角label中的最后一个 [6.9:l] 其中的 l 本来应该是无穷大的意思,给出的结果为什么看似 ‘一’ 似的。
2012年05月05日 星期六 07:19
由于我不是你这个专业的,我还没有看懂这个风速图要表达的意思。我把legend改为colorbar了,你可以参考一下:
http://hyry.dip.jp/tech/forum/thread.html/62
2012年05月05日 星期六 23:16
另外请教: 画windrose图形时 ax.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')
显然要求wd 和 ws 数据长度一样, 如果wd中有部分数据点丢失,原始保存的结果为了保持和ws一样的长度和对应,以 -- 代替丢失的数据点, 那么导入数据的时候,只能用:
np.loadtxt('wd.txt',dtype=np.object)
np.loadtxt('ws.txt')
下面该如何转换后才能 ax.bar(wd, ws) 画图 ?
2012年05月06日 星期日 06:17
试试:
mask = wd!="--"
wd = wd[mask].astype(np.float)
ws = ws[mask]
2012年05月06日 星期日 15:27
7楼图中左下角label中的最后一个 [6.9:l] 其中的 l 本来应该是无穷大的意思,给出的结果为什么看似 ‘1’ 啊?
2012年05月06日 星期日 16:08
无穷大显示为1是程序的BUG吧。你修改一下:
labels = ["[%.1f : %0.1f[" %(labels[i], labels[i+1])
就好了。
2012年05月06日 星期日 20:12
def get_labels():
labels = np.copy(self._info['bins'])
labels = ["[%.1f : %.1f]" %(labels[i], labels[i+1]) \
for i in range(len(labels)-1)]
return labels
labels定义看不出错误,不知你说的BUG是什么意思?能否详细点?
2012年05月06日 星期日 20:18
就是无穷大被转换成"1"的BUG。
你试试下面的语句就知道了:
"%.1f" % float("inf")
所以这个程序要修改,改为判断是否为无穷大,如果无穷大就用别方法显示,例如latex中的无穷大符号。
2012年05月06日 星期日 22:37
有关你在10楼给我9楼问题的解答:
mask = wd!="--"
wd = wd[mask].astype(np.float)
ws = ws[mask]
这样处理实际上是把 ws 中部分数据(对于wd中 ‘--’ 的 数据)一起丢弃了吧?
我在想十分有其他方法 不丢弃 ws 中的数据?
2014年04月08日 星期二 12:10
新手请教:
运行例子程序example.py,报错
File "C:\Python27\plotWindRose.py", line 314, in set_legend
l = ax.legend(axespad=-0.10)
File "C:\Python27\plotWindRose.py", line 111, in legend
self.legend_ = matplotlib.legend.Legend(self, handles, labels, loc, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'axespad'
注释掉相关行,可运行并输出结果。但是,仍有问题: 1)legend因此不能显示; 2)box或bar图边缘为直线,不如弧线好看
python新手, 不知道该如何改动,请高手帮忙解答,先谢过
2014年04月08日 星期二 12:24
参考张若愚老师的改动
得到下图
新问题是如何,加入中心静风区(Calm),并显示静风比例%和其他风速比例%
2014年05月06日 星期二 07:39
请教你那个半径值 1.6, 3.2, 4.7, 6.3, 7.8 代表百分比还是随机设定的?
2014年05月06日 星期二 08:09
半径是风速不是百分比,应该是根据风速统计出来之后,根据画图需要自动计算的
2014年05月29日 星期四 17:15
你是把风速和风向整和到一个windrose中了,请教如果实现这个风速统计并且以半径值 1.6, 3.2, 4.7, 6.3, 7.8表示?感谢
2014年05月30日 星期五 05:19
上面你找到的python程序解决的就是你的问题,研究一下程序本身吧
大致是360度分为X等分,在每个方向等分上给出Y个等分风速范围,分别统计在X方向Y风速范围上出现频次,然后画图,具体画图如何实现没有具体研究,在我想象中,按每个X,Y等分上统计频次计算色块大小
另外windrose原本就是表达风向和风速两者合成的统计信息的
2014年07月04日 星期五 13:32
还是不明白如何根据"%.1f" % float("inf"),修改labels = ["[%.1f : %0.1f[" %(labels[i], labels[i+1])?
是labels = ["["%.1f" % float("inf")[" %(labels[i], labels[i+1])?
试了几次,都没通过,能把你修改的这条代码发上来看看吗?
Zeuux © 2024
京ICP备05028076号