1

我知道这不是一个新问题,但是我尝试使用我看到的博客中的信息所做的一切都对我不起作用。我试图为windrose运行这个例子:

from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np
import imp

ws = np.random.random(500) * 6
wd = np.random.random(500) * 360

ax = WindroseAxes.from_ax()
ax.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')
ax.set_legend()

ax = WindroseAxes.from_ax()
ax.contourf(wd, ws, bins=np.arange(0, 8, 1), cmap=cm.hot)
ax.set_legend()

ax.bar(wd, ws, normed=True, nsector=16)
table = ax._info['table']
wd_freq = np.sum(table, axis=0)

direction = ax._info['dir']
wd_freq = np.sum(table, axis=0)
plt.bar(np.arange(16), wd_freq, align='center')

但我只得到这个 Traceback:

Traceback (most recent call last):
  File "/home/user/Documents/the_windrose.py", line 31, in <module>
    plt.bar(np.arange(16), wd_freq, align='center')
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 2643, in bar
**kwargs)
  File "/home/user/.local/lib/python2.7/site-packages/windrose/windrose.py", line 390, in bar
**kwargs)
TypeError: __init__() got multiple values for keyword argument 'width'

我不明白这个问题。这里有什么问题?

4

1 回答 1

0

问题解决了!如果您确切地查看代码的作用,那将非常简单。我犯了一个错误,我将轴绘制了两次,正如您在带有ax.bar(...)和的行中看到的那样ax.contourf(...)。通过运行 python 每次尝试绘制这两个轴并得到多个值的错误。

于 2016-01-14T17:19:27.387 回答