2014年07月04日 星期五 17:35
试试这样行不,最近没用Python,有点忘记了
#def get_labels():
# labels = np.copy(self._info['bins'])
# labels = ["[%.1f : %0.1f[" %(labels[i], labels[i+1]) for i in range(len(labels)-1)]
# return labels
def get_labels():
binst = np.copy(self._info['bins'])
labels = []
for i in range(len(binst)-2):
labels.append('%.1f: %0.2f' %(binst[i],binst[i+1]))
labels.append('%.2f: Inf' %(binst[-2]))
return labels
2014年07月04日 星期五 18:17
还是不行!还是有错误。
File "windrose.py", line 166, in legend
loc, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'axespad'
2014年07月04日 星期五 18:22
不是这几行的问题,请你给出出错的代码
2014年07月04日 星期五 19:16
倒是画出张图,但是没有legend, 还有点错误,不知道出在哪?提示是指166行。
161 null = kwargs.pop('labels', None)
162 null = kwargs.pop('handles', None)
163 handles = get_handles()
164 labels = get_labels()
165 self.legend_ = matplotlib.legend.Legend(self, handles, labels,
166 loc, **kwargs)
runfile('C:/Users/lenovo/Documents/Python Scripts/windrose/example.py', wdir='C:/Users/lenovo/Documents/Python Scripts/windrose')
UMD has deleted: windrose
Traceback (most recent call last):
File "<ipython-input-4-33777c218672>", line 1, in <module>
runfile('C:/Users/lenovo/Documents/Python Scripts/windrose/example.py', wdir='C:/Users/lenovo/Documents/Python Scripts/windrose')
File "C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 585, in runfile
execfile(filename, namespace)
File "C:/Users/lenovo/Documents/Python Scripts/windrose/example.py", line 25, in <module>
set_legend(ax)
File "C:/Users/lenovo/Documents/Python Scripts/windrose/example.py", line 19, in set_legend
l = ax.legend(axespad=-0.10)
File "windrose.py", line 166, in legend
loc, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'axespad'
2014年07月04日 星期五 19:34
把set_legend(ax) 改动一下试试
#def set_legend(ax):
# l = ax.legend(axespad=-0.10)
# plt.setp(l.get_texts(), fontsize=8)
def set_legend(ax):
l = ax.legend(title='wind speed (m/s)', loc='right', fontsize=8, frameon=True, fancybox=True, ncol=1, borderaxespad=-0.1, borderpad=0.3, handlelength=1)
plt.setp(l.get_texts(), fontsize=8)
2014年07月04日 星期五 20:02
谢谢!终于可以了!为什么在example.py里不认识axespad?是matplotlib的版本问题吗?
在windrose里,l = ax.legend(axespad=-0.10)都没问题了!
2014年07月04日 星期五 20:08
> 为什么在example.py里不认识axespad?是matplotlib的版本问题吗
我也是菜鸟一只,不明白,有可能吧
2014年07月04日 星期五 20:09
还有个问题,你画出来的图边缘也是直线而非漂亮的圆弧吗
2014年07月04日 星期五 22:46
你说的是bar的边缘吗?也是直线!
2014年07月09日 星期三 06:50
问了原作者,他也不清楚是什么原因造成bar有时是圆弧有时是直线
我觉得可能是matplotlib和python编译器版本的问题,暂且只能这样了
Zeuux © 2024
京ICP备05028076号