如何在matplotlib中使用自己的CSV文件

时间:2018-10-15 08:44:18

标签: python matplotlib heatmap matplotlib.mlab

我正在将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应该为蓝色,重点突出。

热图上没有任何数据的每个坐标应为白色或透明。目标是热图,类似于此示例sample heatmap。这个图书馆有可能吗?

0 个答案:

没有答案