gpt4 book ai didi

python - 使用 xyz 数据框在 Python 中生成热图

转载 作者:行者123 更新时间:2023-12-01 02:59:01 33 4
gpt4 key购买 nike

我将 x,y,z 数据存储在 pandas 数据框中,我想从中生成 2D 热图(深度图)。

df= pd.DataFrame(np.random.randint(0,100,size=(100, 3)), columns=list('XYZ'))

我不确定如何使用 matplotlib 来做到这一点。 This example建议转换为 numpy 数组并创建轮廓图。有没有办法直接从 pandas 绘图?如果没有,我如何将数据帧 reshape 为二维 numpy 数组?

最佳答案

首先,数据帧是 numpy 数组。它们只是被扩展为具有许多其他不错的功能。所以这里不需要“转换”任何东西。

其次,将随机值绘制为热图是行不通的。您要么需要有有意义的坐标,要么需要有有意义的 z 值。

如果一切都是随机的,那么您唯一能做的正式工作(但不会给出有意义的结果)就是使用 tripcolortricontourf 图。

import matplotlib.pyplot as plt 
import pandas as pd
import numpy as np

df= pd.DataFrame(np.random.randint(0,100,size=(100, 3)), columns=list('XYZ'))

fig, (ax, ax2)=plt.subplots(ncols=2)
ax.set_title("tripcolor")
ax.tripcolor(df["X"], df["Y"], df["Z"])
ax2.set_title("tricontour")
ax2.tricontourf(df["X"], df["Y"], df["Z"])

plt.show()

enter image description here

关于python - 使用 xyz 数据框在 Python 中生成热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43993864/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com