我正在使用python 2.6和matplotlib.如果我运行matplotlib库页面中提供的示例histogram_demo.py,它可以正常工作.我大大简化了这个脚本:
import numpy as np
import matplotlib.pyplot as plt
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(x, 50, normed=1, facecolor='green', alpha=0.75)
ax.set_yscale('log') # <---- add this line to generate the error
plt.show()
Run Code Online (Sandbox Code Playgroud)
我收到此错误(在该plt.show()行):
TypeError: coercing to Unicode: need string or buffer, dict found
Run Code Online (Sandbox Code Playgroud)
我已经尝试将后端更改为许多不同的值 - 没有任何帮助.我在用Qt4Agg.这是字体问题吗?似乎它必须是我的配置.注意:由于其他问题,我刚刚安装了python26,matplotlib,numpy,scipy的新副本.我有另一个运行python26的XP-box,它执行脚本的两个版本,没有错误.我希望有人能帮帮忙.提前谢谢了.