使用unicode时,Colorbar标签截止

时间:2017-12-20 19:28:17

标签: python matplotlib unicode

在matploblib中,以下代码为我提供了被剪裁的颜色栏中的标签

img = np.random.randint(0, 4, size=(10, 10))
plt.imshow(img)
cbar = plt.colorbar()
cbar.ax.set_yticklabels([u'\u2192', u'\u2198', u'\u2193', u'\u2199', 
                         u'\u2190', u'\u2196', u'\u2191', u'\u2197'], size=20)

像这些剪裁的箭头一样:

example

有什么建议吗?

谢谢!

这是使用python 2.7,matplotlib 2.0.2

1 个答案:

答案 0 :(得分:1)

我完全不知道是什么原因导致这种奇怪的行为。

解决方法是在每个标签后添加一个空格(" ")。

import matplotlib.pyplot as plt
import numpy as np

img = np.random.randint(0, 4, size=(10, 10))
plt.imshow(img)
cbar = plt.colorbar()
ticklabels = [u'\u2192', u'\u2198', u'\u2193', u'\u2199', 
                         u'\u2190', u'\u2196', u'\u2191', u'\u2197']
ticklabels = [t + " " for t in ticklabels]
cbar.ax.set_yticklabels(ticklabels, size=20)

plt.show()

enter image description here