首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将结果作为颜色/热图绘制x和y值

将结果作为颜色/热图绘制x和y值
EN

Stack Overflow用户
提问于 2018-08-29 08:01:32
回答 3查看 678关注 0票数 1

基本上我有一些x和y的值。每组x和y值都有一个与它们相对应的给定值。我不确定一个通用的seaborn热图是否足够(我可能错了),那么该怎么做呢?

我希望它看起来像这样(包括垃圾箱,这样它就是一个更“平滑”的彩色表面,而不只是周围有许多不同颜色的点):

编辑:所以我会试着解释得更好。

假设我有这样的东西:

代码语言:javascript
复制
import numpy as np 

nx = 3
ny = 5

x = np.linspace(0.1, 1, nx) 
y = np.linspace(1, 11, ny) 

x_bc = x[:, np.newaxis]
y_bc = y[np.newaxis, :]
z = x_bc * y_bc

然后,z的输出是xy的每种组合,即:

代码语言:javascript
复制
[[  0.1     0.35    0.6     0.85    1.1  ]
[  0.55    1.925   3.3     4.675   6.05 ]
[  1.      3.5     6.      8.5    11.   ]]

因此,在本例中,我有3x5的z-values,即绘图中应该是什么颜色,这些值来自长度分别为3和5的两个列表(xy)。这就是我想要描绘的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-29 16:27:05

这些线条看起来像轮廓线。为了绘制它们并用颜色填充它们之间的空间,您可以使用contourf

为了做到这一点,我必须转置z,使列数与x的大小匹配,行数与y的大小匹配。

代码语言:javascript
复制
nx = 3
ny = 5

x = np.linspace(0.1, 1, nx) 
y = np.linspace(1, 11, ny) 

x_bc = x[:, np.newaxis]
y_bc = y[np.newaxis, :]
z = x_bc * y_bc

plt.contourf(x, y, z.T)
plt.colorbar()

票数 1
EN

Stack Overflow用户

发布于 2018-08-29 08:20:18

这看起来像是你可以像这样开始一个kdeplot

代码语言:javascript
复制
 ax = sns.kdeplot(x, y, shade=True)
票数 0
EN

Stack Overflow用户

发布于 2018-08-29 08:22:42

我建议使用matplotlib。如果您的x,y坐标是在统一的网格上定义的,那么contourf应该可以完成此任务;否则,tricontourf将为您对数据进行三角剖分和插值。看一看this示例:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52067700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档