0
我正在嘗試創建散點子圖的集合,並希望它們共享相同的顏色條。Matplotlib,具有共享顏色條的多個散點子圖
我遵循指導here,但它似乎只適用於繪製對象具有自動比例屬性的圖像。
我使用的代碼如下:
import matplotlib.pyplot as plt
import numpy
import random
x = []
y = []
for i in range(100):
x.append(random.normalvariate(100,10))
y.append(random.normalvariate(100,10))
#Creates a list of length n
def getRand(n):
l = []
for i in range(n):
l.append(random.normalvariate(1,10))
return l
f = plt.figure()
f, axes = plt.subplots(nrows = 2, ncols = 2, sharex=True, sharey = True)
axes[0][0].scatter(getRand(100),getRand(100), c = getRand(100), marker = "x")
axes[0][0].set_xlabel('Crosses', labelpad = 5)
axes[0][1].scatter(getRand(100),getRand(100), c = getRand(100), marker = 'o')
axes[0][1].set_xlabel('Circles', labelpad = 5)
axes[1][0].scatter(getRand(100),getRand(100), c = getRand(100), marker = '*')
axes[1][0].set_xlabel('Stars')
axes[1][1].scatter(getRand(100),getRand(100), c = getRand(100), marker = 's')
axes[1][1].set_xlabel('Squares')
#Add separate colourbar axes
cbar_ax = f.add_axes([0.85, 0.15, 0.05, 0.7])
#Autoscale none
f.colorbar(axes[0][0], cax=cbar_ax)
plt.show()
這將生成錯誤:
AttributeError的: 'AxesSubplot' 對象沒有屬性 'autoscale_None'
該問題發生時我將數據發送到顏色欄:
f.colorbar(axes[0][0], cax=cbar_ax)
他再次是電流輸出,很顯然,我希望標記的顏色是比例尺上的權利(我會擔心您正確地安裝它以後):
是否有實現的遠這對於一組散佈圖如這樣,如果是的話,我如何修改我的代碼來實現它?
你可能需要[一個獨立的彩條(https://matplotlib.org/examples/api/colorbar_only.html)可能通過' mpl.colorbar.ColorbarBase'。 –