【发布时间】:2022-01-14 08:42:42
【问题描述】:
我正在尝试根据我的 imshow 图的颜色图绘制一个图例。
我可以通过使用 matplotlib.mpatches 和 matplotlib.colors 指定我想要的颜色和标签来做到这一点,正如我在一些示例中看到的那样,但我只想遵循 cmap 中的颜色。例如:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Data
df = pd.DataFrame({"a":[0.1, 0.3, 0.4, 0.2, 0.5, 0.6],
"z":[5, 10, 15, 20, 25, 30],
"class":[1, 2, 3, 1, 3, 3]})
# 'Class' 2D cluster
cluster = np.repeat(np.expand_dims(df["class"].values, 1), 10, 1)
f, ax = plt.subplots(nrows=1, ncols=2, figsize=(12,10))
ax[0].plot(df["a"], df["z"])
ax[1].imshow(cluster, interpolation='none', cmap="Paired",
aspect='auto', vmin=1, vmax=3, extent=[0, 1, df["z"].min(), df["z"].max()])
ax[0].set_ylim(df["z"].min(), df["z"].max())
ax[1].legend()
在这里,我想根据我的 imshow 图中的“配对”cmap 绘制图例,使用此代码,我只会得到“没有找到带有标签的句柄放入图例”。谁能帮帮我?
【问题讨论】:
标签: python matplotlib legend imshow