gpt4 book ai didi

python - 在同一轴上绘制多个标签

转载 作者:行者123 更新时间:2023-11-28 22:20:01 25 4
gpt4 key购买 nike

考虑绘制两个不同群体的简单图:

enter image description here

我想添加两个单独的 y 标签,一个用于顶部人口,一个用于下面的人口,在同一左侧 y 轴上。我见过的所有类似问题都涉及两个独立轴上的标签(即:一个在左边,一个在右边),这不是我需要的。

我该怎么做?

import numpy as np
import matplotlib.pyplot as plt

N = 50
a = np.random.uniform(100., 120., N)
b = np.random.uniform(10., 20., N)

plt.scatter(range(N), a)
plt.scatter(range(N), b)
plt.show()

这个问题不是关于向图例添加标签,如所述 here .

最佳答案

您可能会误用 y 轴的小刻度在这些位置放置标签。在这里,我们可以采用数据的平均值来创建一个小刻度。可以关闭勾号,并且可以填充、旋转和对齐标签,使其看起来类似于普通的 ylabel。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker

N = 50
a = np.random.uniform(100., 120., N)
b = np.random.uniform(10., 20., N)

plt.scatter(range(N), a)
plt.scatter(range(N), b)

ax = plt.gca()
ax.yaxis.set_minor_locator(mticker.FixedLocator((a.mean(), b.mean())))
ax.yaxis.set_minor_formatter(mticker.FixedFormatter(("Label A", "Label B")))
plt.setp(ax.yaxis.get_minorticklabels(), rotation=90, size=15, va="center")
ax.tick_params("y",which="minor",pad=25, left=False)


plt.show()

enter image description here

关于python - 在同一轴上绘制多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239075/

25 4 0