代码:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = list(map(lambda n:str(n), np.random.choice(np.arange(1,50), 1000)))
fig, ax = plt.subplots(1,1)
sns.countplot(y=data,ax=ax)
ax.set_yticklabels(ax.get_yticklabels(), fontsize=5)
plt.show()
我得到了下面的图。y轴是字符串类型的1~2位整数。我想把它们转换成字母,如
1->AL,2->AK,4->AZ,5->AR,.
我尝试使用ax.set_yticks(ylabel, converted ylabel)
,但它不工作。我该怎么做?
2条答案
按热度按时间wkftcu5l1#
您需要创建一个函数,将数字转换为所需的字母表示形式。
e37o9pze2#
除了@Yuri的答案之外,我还想提出另一个对我也有效的答案。这就是通过
get_yticklabels()
获取标签(plt.Text
对象的列表),并通过plt.Text.get_text()
和plt.Text.get_position()
从中提取信息。