gpt4 book ai didi

python - 具有两个颜色条的多个散点图

转载 作者:行者123 更新时间:2023-11-28 18:00:23 25 4
gpt4 key购买 nike

我正在尝试绘制一个包含三个散点图的图,每个散点图显示两种数据。我想显示与此数据对应的颜色条(即,分别显示橙色和紫色的阴影)。我知道如何用多个颜色条制作一个图,我知道如何用一个公共(public)颜色条制作多个图,但我不知道如何将多个颜色条放在一个有多个子图的图上。

这里是制作多图的例子:

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=1, ncols=3)
images =[]
for i in range(3):
images.append([axes[i].scatter(np.random.random(10), np.random.random(10), c = np.random.random(10), vmin=0, vmax=1, cmap="Purples_r"),

axes[i].scatter(np.random.random(10),np.random.random(10), c =
np.random.random(10), vmin=0, vmax=1, cmap="Oranges_r")])

plt.show()

更新:添加以下代码会返回两个颜色条:

fig.colorbar(images[0][1], ax=axes, fraction=.05)
fig.colorbar(images[0][2], ax=axes, fraction=.05)

我假设为所有散点图保持固定的通用 vminvmax 值可确保各图之间的比例一致。

最佳答案

如果您想为每个子图添加一个颜色条,请在 for 循环中添加对 fig.colorbar 的调用。如果每个子图中的数据不在同一范围内,这可能很有用。例如,在子图 1 中,它们从 0 到 1,在子图 2 中,它们从 0 到 2,等等。
这里有一个例子:

fig, axes = plt.subplots(nrows=1, ncols=3)
images =[]
for i in range(3):
images.append([axes[i].scatter(np.random.random(10), np.random.random(10), c =
(1+i)*np.random.random(10), vmin=0, vmax=1+i, cmap="Purples_r"),

axes[i].scatter(np.random.random(10),np.random.random(10), c =
(1+i)*np.random.random(10), vmin=0, vmax=1+i, cmap="Oranges_r")])

fig.colorbar(images[-1][0], ax=axes[i])
fig.colorbar(images[-1][1], ax=axes[i])

plt.show()

enter image description here

为了让事情变得更好,最好将每个颜色条放在自己的轴上。

wrl = [1, 4, 1] * 3
fig, axes = plt.subplots(nrows=1, ncols=9, gridspec_kw={'width_ratios': wrl})
images =[]
for i in range(3):
leftaxpos = i*3
plotpos = (i*3)+1
rightaxpos = (i*3)+2

images.append([axes[plotpos].scatter(np.random.random(10), np.random.random(10), c =
(1+i)*np.random.random(10), vmin=0, vmax=1+i, cmap="Purples_r"),

axes[plotpos].scatter(np.random.random(10),np.random.random(10), c =
(1+i)*np.random.random(10), vmin=0, vmax=1+i, cmap="Oranges_r")])

fig.colorbar(images[-1][0], cax=axes[leftaxpos])
fig.colorbar(images[-1][1], cax=axes[rightaxpos])

plt.show()

enter image description here

关于python - 具有两个颜色条的多个散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080777/

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