我正在製作一些交互式繪圖,我想添加一個顏色條圖例。我不希望顏色條在自己的軸上,所以我想將它添加到現有的軸上。我在做這件事時遇到了困難,因爲我找到的大多數示例代碼都爲顏色條創建了新的軸。將顏色條添加到現有軸
我試過下面的代碼,使用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
仍然不給我我想要很什麼,我仍然不知道如何調整顏色條的屬性。
fig.colorbar(s, ax=ax, cax=ax)
比方說,我想在左上角的彩條,橫跨圖的頂部延伸大約一半。我會怎麼做呢?
我最好爲此寫一個自定義函數,也許使用LineCollection
?
我沒有答案。但是,爲什麼要將顏色條作爲現有軸的一部分,而不是給它一個新的軸? – tnknepp
@tnknepp我正在製作具有縮放/平移功能的交互式圖表,切換圖表的開關等。對於我來說,不必爲顏色條創建新軸 –
爲什麼你不能僅僅使用' fig.colorbar(AX = AX)'? – tom