我正在制作一些交互式图表,想要添加一个色标图例。我不想让色标图例在自己的坐标轴上显示,而是想要将其添加到现有的坐标轴上。但是我在实现这个过程中遇到了困难,因为我找到的大部分示例代码都是为色标图例创建一个新的坐标轴。
我尝试了使用
使用
也许我最好写一个自定义函数来实现这个功能,可以使用LineCollection吗?
我尝试了使用
matplotlib.colorbar.ColorbarBase
的以下代码,它可以将色标图例添加到现有的坐标轴上,但是结果很奇怪,而且我无法弄清楚如何指定色标图例的属性(例如,它在坐标轴上的位置和大小)。import matplotlib
import matplotlib.pyplot as plt
from matplotlib.cm import coolwarm
import numpy as np
x = np.random.uniform(1, 10, 10)
y = np.random.uniform(1, 10, 10)
v = np.random.uniform(1, 10, 10)
fig, ax = plt.subplots()
s = ax.scatter(x, y, c=v, cmap=coolwarm)
matplotlib.colorbar.ColorbarBase(ax=ax, cmap=coolwarm, values=sorted(v),
orientation="horizontal")
使用
fig.colorbar
而不是matplotlib.colorbar.ColorbarBase
仍然不能完全满足我的需求,而且我还不知道如何调整colorbar的属性。fig.colorbar(s, ax=ax, cax=ax)
假设我想将色条放在图的左上角,横跨图的顶部一半的位置。我该如何实现这个效果?也许我最好写一个自定义函数来实现这个功能,可以使用LineCollection吗?
fig.colorbar(ax=ax)
呢? - tmdavison