带有标量数据的散点图

时间:2012-02-16 12:06:17

标签: matplotlib

我想用matplotlib创建一个散点图,其中数据点附加了标量数据,并根据它们的附加值相对于集合中其他点的大小来分配颜色。即,我想要一个类似于热图的东西。但是,我正在寻找一个“离散的”热图,即在原始数据集中没有点的情况下不应该绘制任何内容,特别是不应该执行插值(在空间中)。

可以这样做吗?

2 个答案:

答案 0 :(得分:10)

您可以使用散点图,并将附加值设置为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 :(得分:-1)

在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