2012-02-16 34 views
6

Tôi muốn tạo một ô phân tán với matplotlib nơi các điểm dữ liệu có dữ liệu vô hướng gắn với chúng và được gán màu tùy thuộc vào giá trị đính kèm của chúng lớn như thế nào so với các điểm khác trong tập hợp. Tức là, tôi muốn một cái gì đó giống như một bản đồ nhiệt. Tuy nhiên, tôi đang tìm một bản đồ nhiệt "rời rạc", nghĩa là không có gì nên được biểu quyết khi không có điểm nào trong tập dữ liệu gốc và đặc biệt là không có nội suy (trong không gian) nên được thực hiện.Vạch phân tán với dữ liệu vô hướng

Việc này có thể thực hiện được không?

Trả lời

10

bạn có thể sử dụng phân tán, và thiết lập giá trị gắn liền với tham số c:

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

Giải quyết này trong Altair.

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

Các vấn đề liên quan