首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3D图+热图中的图4变量

3D图+热图中的图4变量
EN

Stack Overflow用户
提问于 2020-10-23 11:03:31
回答 1查看 21关注 0票数 0

我在一个数据帧中有4列,我想看看它们之间是否存在相关性。我认为它可以给我一些洞察力,通过将它们绘制在3D图中,然后添加第四个维度作为热图,但我不知道如何添加链接到数据帧中的一列的热图。

这是我到目前为止所得到的:

代码语言:javascript
复制
from mpl_toolkits.mplot3d import Axes3D  
fig = plt.figure(figsize=(12,12));
ax = fig.add_subplot(111, projection='3d');
ax.scatter(Series1,Series2,Series3); 

这将返回给我以下内容:

(https://i.stack.imgur.com/qRGMv.png)

所以,上面有Series1Series2Series3的观点...但是有没有一种方法可以添加一个热图或任何东西来区别于Series4呢?

EN

回答 1

Stack Overflow用户

发布于 2020-10-23 12:04:53

我发现有一种方法可以通过添加c参数来添加色彩映射表,如下所示:

代码语言:javascript
复制
withcolormap = ax.scatter(Series1, Series2, Series3, c = Series4, cmap='gist_heat');

然后把它的柱状图放在一边:

代码语言:javascript
复制
fig.colorbar(withcolormap, shrink=0.75);

由于它给了我一些见解,我想知道如何绘制这个图的旋转视图的动画,我通过执行以下代码进行了尝试:

代码语言:javascript
复制
from matplotlib.animation import FuncAnimation, PillowWriter

def rotation(i):
  ax = fig.add_subplot(111, projection='3d')
  ax.view_init(elev=30, azim=i);

ani = FuncAnimation(withcolormap, rotation, frames=range(0,360,10))

然后返回一个错误:

代码语言:javascript
复制
AttributeError: 'Path3DCollection' object has no attribute 'canvas'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64493262

复制
相关文章

相似问题

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