我发现this模块效果很好,我喜欢输出。 我试图改变随机输入的值,这里:
ws = random(500)*6
wd = random(500)*360
从this reference我们了解到
此示例使用风速和方向的随机数值(ws和wd变量)。在这种情况下,这些变量从数据库或直接从文本文件加载实数值(1-D数组)(请参阅matplotlib.pylab接口中的“load”工具)。
通过我的代码,我创建了两个列表:
angles = [v1, v2, v3...] # values that replace wd
length = [v1, v2, v3...] # values that replace ws
这些是我迄今为止尝试过的方法:
wd=np.array(angles)
wx=np.array(length)
wd=np.asarray(angles)
...
wd=np.fromiter(angles)
...
All give the error : TypeError: 'list' object is not callable
确定我确实有数组:
a = np.array(angles)
print type(a)
<type 'numpy.ndarray'>
print a.ndim
1
我还尝试直接替换线程here.中的值,结果相同(列表不可调用)
所以我用给定的数组替换random(),但Qgis仍然返回一个&#39;列表&#39;错误。
我错过了什么?
答案 0 :(得分:1)
尝试此示例并检查列表angles
和length
中的值,它们必须是浮点数或整数:
from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
from numpy.random import random
from numpy import arange, array
angles = [10.,20,40.,100.]
length = [1.,2.,3.,10]
ws = array(length)
wd = array(angles)
fig = plt.figure(figsize=(8, 8), dpi=80, facecolor='w', edgecolor='w')
rect = [0.1, 0.1, 0.8, 0.8]
ax = WindroseAxes(fig, rect, axisbg='w')
fig.add_axes(ax)
ax.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')
plt.show()