2024-06-02 08:45:58 发布
网友
我正在尝试使用matplotlib构建一个信息图,我想左对齐所有y轴的刻度标签
我想把所有的记号标签移到左边——我想让它们都从与District of Columbia相同的x位置开始
District of Columbia
我试着用^{}来做这件事,但我不知道怎么做
是否尝试对轴上的每个记号使用set_horizontalalignment()
set_horizontalalignment()
for tick in ax.yaxis.get_majorticklabels(): tick.set_horizontalalignment("left")
一种灵活的方法是使用ax.text()分别绘制标签。下面是一个简单的例子:
ax.text()
import matplotlib.pyplot as plt y = [0, 1, 2] width = [2, 2, 3] labels = ['Colorado', 'Massachusetts', 'DC'] fig, ax = plt.subplots() ax.barh(y=y, width=width) ax.set_yticks(y) ax.set_yticklabels([]) for i, yi in enumerate(y): ax.text(-0.8, yi, labels[i], horizontalalignment='left', verticalalignment='center')
只需根据您的最长标签调整偏移量(-0.8)
-0.8
是否尝试对轴上的每个记号使用
set_horizontalalignment()
一种灵活的方法是使用
ax.text()
分别绘制标签。下面是一个简单的例子:只需根据您的最长标签调整偏移量(
-0.8
)相关问题 更多 >
编程相关推荐