当前位置: 首页 > 知识库问答 >
问题:

如何在matplotlib中对齐记号标签?

艾宁
2023-03-14

我试图使用matplotlib构建一个信息图表,我想左对齐所有y轴的刻度标签。

我想把所有的刻度标签移到左边——我想让它们都从与哥伦比亚特区相同的x位置开始。

我试图使用Axes.set_yticklabels做到这一点,但我不知道如何做到这一点。

共有2个答案

秦奇
2023-03-14

您是否尝试使用set_horizontalalignment()为轴上的每个刻度?

for tick in ax.yaxis.get_majorticklabels():
    tick.set_horizontalalignment("left")
车明贤
2023-03-14

灵活的方法是使用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)。

 类似资料:
  • 问题内容: 我有可变长度的刻度标签,我想将它们向左对齐(即,较短的标签和y轴之间有一个空格)。有什么合理的方法可以做到这一点吗?使用水平对齐方式“向左”会将其向左对齐,但是它们都从轴开始,因此最终在绘图内。因此,另一个问题可能是- 我可以更改其起点吗? 演示代码: 问题答案: 您只需要添加一个。查看matplotlib刻度相对于轴的位置 (文件) 确定垫子应该是什么:

  • 我正在使用scatterplot函数在垂直线上创建句柄的外观,以描绘图形的某些部分。然而,为了使它们看起来正确,我需要能够将散点图标记向左对齐(对于左线/划定线)和/或向右对齐(对于右线/划定线)。 这里有一个例子: 上面的代码几乎给出了我要找的图形,如下所示: 对如何以灵活的方式实现这一目标有任何指导或建议? 注意:实际上,我的索引是而不是我为这个简单示例提供的整数。

  • 问题内容: 我有以下几行注释我的绘图上的TeX : 如何使等号彼此对齐?我尝试了几种方法,如,-placement,但我不完全得到它的权利。 问题答案: 使用。您的代码的简化版本: 为了使其正常工作,我必须安装dvipng(如此处建议的,http: //matplotlib.sourceforge.net/users/usetex.html )

  • 问题内容: 我希望降低不同子地块上的刻度标签密度 结果呢![输入图像描述] 这里 我想减少上面两个子地块的记号标签。怎么做 ? 谢谢。 奖励:1)如何去除条形图上y=0的虚线? 2) 如何去除子图0和1之间的x-trick标签?3) 如何设置 后面的情节要透明吗?(请参见右下角断开的y轴线。) 消失在情节背后) 问题答案: 您可以像设置xticks一样,将记号设置到您想要的位置。 这将为ax0子批

  • 问题内容: 我有一个 带有Title 的 JFrame 。我希望 标题居中对齐 ,以便它出现在 JFrame标题 的 中间 。 谢谢。 问题答案: 考虑将标题左对齐…但是…这将使您靠近中心。对于可调整大小的框架,您需要在调整大小时重写标题。

  • 我基于matplotlib中的:热图和pcolor? 我了解了如何在Matplotlib中更改记号标签和轴标签之间的分隔,但这不是我所需要的 如何固定标签的位置,使其与刻度对齐?