我一直试图让matplotlib正确显示£/€符号作为轴标签,并最终发现一些令人困惑的东西,我希望有人在这里可能会有所启发。
如果我在python控制台中输入以下内容:unicode('£','utf-8')
,我收到此错误:UnicodeDecodeError: 'utf8' codec can't decode byte 0xa3 in position 0: invalid start byte
。
但是,如果我用这个作为我唯一的行来执行一个python脚本,我会将'£'符号打印回给我(这最终是我最终在我的情节中得到'£'符号的方式)。 / p>
print unicode('£','utf-8')
有什么想法吗?感谢您提供的任何见解!
本
编辑:
两个脚本及每个脚本的输出:
import matplotlib.pyplot as plt
plt.plot( [ 1, 2, 3 ] )
ax = plt.gca()
ax.set_ylabel( unicode( '£', 'utf-8' ) )
plt.show()
输出:
import matplotlib.pyplot as plt
plt.plot( [ 1, 2, 3 ] )
ax = plt.gca()
ax.set_ylabel( u'£' )
plt.show()
输出:
编辑2:
将#coding: utf8
添加到我的第二个示例代码中不会改变:
#coding: utf8
import matplotlib.pyplot as plt
plt.plot( [ 1, 2, 3 ] )
ax = plt.gca()
ax.set_ylabel( u'£' )
plt.show()
输出:
答案 0 :(得分:0)
尝试使用unicode文字u'£'
答案 1 :(得分:0)