Saya bekerja dengan data yang memiliki data memiliki 3 parameter plot: x, y, c. Bagaimana Anda membuat nilai warna kustom untuk sebar plot?
Memperluas contoh ini yang saya coba lakukan:
import matplotlib
import matplotlib.pyplot as plt
cm = matplotlib.cm.get_cmap('RdYlBu')
colors=[cm(1.*i/20) for i in range(20)]
xy = range(20)
plt.subplot(111)
colorlist=[colors[x/2] for x in xy] #actually some other non-linear relationship
plt.scatter(xy, xy, c=colorlist, s=35, vmin=0, vmax=20)
plt.colorbar()
plt.show()
tetapi hasilnya adalah TypeError: You must first set_array for mappable
python
colors
matplotlib
Adam Greenhall
sumber
sumber
'AxesSubplot' object has no attribute 'colorbar'
. Saya telah melakukanax.colorbar()
... apa yang saya lakukan salah?Berikut adalah cara OOP untuk menambahkan colorbar:
sumber
plt
untuk memplot colorbar bukanlah cara yang disarankan menurut saya. Cara Anda terpuji.Jika Anda ingin membagi dua variabel dan mewarnai dengan ketiga, Altair bisa menjadi pilihan yang bagus.
Membuat dataset
import matplotlib.pyplot as plt import numpy as np import pandas as pd df = pd.DataFrame(40*np.random.randn(10, 3), columns=['A', 'B','C'])
Plot Altair
from altair import * Chart(df).mark_circle().encode(x='A',y='B', color='C').configure_cell(width=200, height=150)
Merencanakan
sumber