gpt4 book ai didi

python - 如何在matplotlib中为图中的每个子图设置标签?

转载 作者:行者123 更新时间:2023-12-01 12:10:22 29 4
gpt4 key购买 nike

假设我在数据集中有四个特征并绘制散点图
每次使用两个特征进行绘图。我想为每个特征提供标签
分别绘制。

fig,axes=plt.subplots(ncols=2,figsize=(10,8))
axes[0].scatter(x1,x2],marker="o",color="r")
axes[1].scatter(x3,x4,marker="x",color="k")
axes[0].set(xlabel="Exam score-1",ylabel="Exam score-2")
axes[1].set(xlabel="Exam score-1",ylabel="Exam score-2")
axes[0].set_label("Admitted")
axes[1].set_label("Not-Admitted")
axes.legend()
plt.show()

在这里,我将获得两个散点图,但未显示标签。我想
看到 承认作为第一个情节的标签,而 不承认
用于第二个散点图。

我可以通过使用 plt.legend()来给标签,但不能获取已经创建的图。

最佳答案

您正在设置轴的标签,而不是散布的标签。

获取图例条目的最便捷方法是使用label参数。

import numpy as np
import matplotlib.pyplot as plt

x, y = np.random.rand(2,23)

fig,axes=plt.subplots(ncols=2)
axes[0].scatter(x,y, marker="o", color="r", label="Admitted")
axes[1].scatter(x,y, marker="x", color="k", label="Not-Admitted")
axes[0].set(xlabel="Exam score-1", ylabel="Exam score-2")
axes[1].set(xlabel="Exam score-1", ylabel="Exam score-2")

axes[0].legend()
axes[1].legend()
plt.show()

如果要在创建散点图之后但在创建图例之前设置标签,则可以在 set_label返回的 PathCollection上使用 scatter
import numpy as np
import matplotlib.pyplot as plt

x, y = np.random.rand(2,23)

fig,axes=plt.subplots(ncols=2)
sc1 = axes[0].scatter(x,y, marker="o", color="r")
sc2 = axes[1].scatter(x,y, marker="x", color="k")
axes[0].set(xlabel="Exam score-1", ylabel="Exam score-2")
axes[1].set(xlabel="Exam score-1", ylabel="Exam score-2")

sc1.set_label("Admitted")
sc2.set_label("Not-Admitted")

axes[0].legend()
axes[1].legend()
plt.show()

最后,您可以在图例调用中设置标签:
import numpy as np
import matplotlib.pyplot as plt

x, y = np.random.rand(2,23)

fig,axes=plt.subplots(ncols=2)
sc1 = axes[0].scatter(x,y, marker="o", color="r")
sc2 = axes[1].scatter(x,y, marker="x", color="k")
axes[0].set(xlabel="Exam score-1", ylabel="Exam score-2")
axes[1].set(xlabel="Exam score-1", ylabel="Exam score-2")

axes[0].legend([sc1], ["Admitted"])
axes[1].legend([sc2], ["Not-Admitted"])
plt.show()

在这三种情况下,结果都将如下所示:

enter image description here

关于python - 如何在matplotlib中为图中的每个子图设置标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52056261/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com