1

我面临将 CSV 数据加载到 matplotlib 的问题。

这就是我的代码的样子:

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

csv_filename = 'heatmap_data.csv'
df = pd.read_csv(csv_filename)

delta = 0.050
x = y = np.arange(-3.0, 3.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
Z = Z2 - Z1  # difference of Gaussians

im = plt.imshow(Z, interpolation='bilinear', cmap=cm.bwr,
                origin='lower', extent=[0, 100, 100, 0],
                vmax=abs(Z).max(), vmin=-abs(Z).max())

cb = plt.colorbar()

plt.savefig("heatmap.png")

我要加载的 CSV 数据:

x_pos,y_pos,type,importance
74,64,blue,-0.011517617893368
68,64,blue,-0.0041303878348102
32,64,red,0.049788810065569
8,64,red,0.12877712212094
88,64,red,0.0050599724578342
84,64,blue,-0.00052412736663743
80,64,blue,-0.020183850819375
78,64,blue,-0.01297132988303
72,64,red,0.080092605800612
64,64,red,0.074683215098353
62,64,blue,-0.011168199648943
58,64,red,0.030129086612831

x_pos 是 X 坐标 y_pos 是 Y 坐标 重要性类似于 Z 坐标。这意味着点的重要性。

重要性点 > 0 应为红色,强调重要性。

重要性点 < 0 应为蓝色,强调重要性。

没有任何数据的 Heatmap 上的每个坐标都应该是白色或透明的。目标是 Heatmap 类似于此示例示例heatmap 。这个库可以吗?

4

0 回答 0