2012-02-16 15 views
6

Chcę utworzyć wykres rozproszenia z matplotlib, do którego punkty danych są połączone z danymi skalarnymi i przypisuje się kolor w zależności od tego, jak duża jest ich dołączona wartość względem innych punktów w zestawie. Tj. Chcę czegoś podobnego do mapy termicznej. Jednak szukam "dyskretnej" mapy cieplnej, tj. Nic nie powinno być wykreślane, gdy nie ma punktów w oryginalnym zbiorze danych, aw szczególności nie należy wykonywać interpolacji (w przestrzeni).Wykres punktowy z danymi skalarnymi

Czy to można zrobić?

Odpowiedz

10

można użyć rozrzut i ustaw wartość załączony do c parametru:

import numpy as np 
import pylab as pl 

x = np.random.uniform(-1, 1, 1000) 
y = np.random.uniform(-1, 1, 1000) 

z = np.sqrt(x*x+y*y) 

pl.scatter(x, y, c=z) 
pl.colorbar() 
pl.show() 

enter image description here

-1

Rozwiązanie to w Altaira.

import numpy as np 
import pylab as pl 

x = np.random.uniform(-1, 1, 1000) 
y = np.random.uniform(-1, 1, 1000) 

z = np.sqrt(x*x+y*y) 

df = pd.DataFrame({'x':x,'y':y, 'z':z}) 

from altair import * 

Chart(df).mark_circle().encode(x='x',y='y', color='z') 

enter image description here

Powiązane problemy