python - 在 python 中使用 CSV 文件数据绘制热图

标签 python dataframe csv heatmap

我输出了名为all_count_details_dictionary的嵌套字典变量。使用该变量,我使用以下命令将数据保存到 CSV 文件中。

import pandas as pd
csv_path = '../results_v6/output_01.csv'
# creating pandas dataframe using concat mehtod to extract data from dictionary
df = pd.concat([pd.DataFrame(l) for l in all_count_details_dictionary],axis=1).T

# saving the dataframe to the csv file
df.to_csv(csv_path, index=True)

输出的 CSV 文件如下所示

enter image description here CSV 文件可以使用此下载 link

所以我使用以下代码来绘制图表

import matplotlib.pyplot as plt

def extract_csv_gen_plot(csv_path):

    length = 1503 #len(dataframe_colums_list)
    data = np.genfromtxt(csv_path, delimiter=",", skip_header=True, usecols=range(3, (length+1)))
    print(data)

    # renaming data axes
    #fig, ax = plt.subplots()
    #fig.canvas.draw()

    #labels =[item.get_text() for item in ax.get_xticklabels()]
    #labels[1] = 'testing'
    #ax.set_xticklabels(labels)

    #ax.set_xticklabels(list)
    #ax.set_yticklabels(list)
    #plt.setp(ax.get_xticklabels(), rotation = 90)


    plt.imshow(data, cmap='hot',interpolation='nearest')
    plt.show()

我尝试将列标签和案例详细信息标签放入图表轴中,但没有成功。谁能告诉我还有其他最好的方法可以将此表绘制成热图吗?

谢谢!

最佳答案

我建议使用 Pandas,标签会自动拾取:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

def extract_csv_gen_plot(csv_path):

    data = pd.read_csv(csv_path, index_col=1)
    data = data.drop(data.columns[[0, 1]], axis=1)
    data.index.names = ['Name']
    g = sns.heatmap(data)
    g.set_yticklabels(g.get_yticklabels(), rotation=0)
    g.set_title('Heatmap')
    plt.tight_layout()
    plt.show()


extract_csv_gen_plot("output_01.csv")

seaborn heatmap

关于python - 在 python 中使用 CSV 文件数据绘制热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68325430/

相关文章:

python - 数据框检查字符串是否以数字结尾并删除

python - 在数据框中分隔特定值

python - Aptana Studio 3 不断添加 .pydevproject 文件,如何禁用 Python?

r - 将数据框转换为命名向量

python - 如何将标签矩阵转换为颜色矩阵以进行图像分割?

c - 将 CSV 文本文件中的值输入到数组中

java - 在java中使用缓冲读取器读取行时获取备用列名?

python - 如何解析 csv 文件并根据该数据计算统计信息

Heroku 上的 Python、PIL 和 JPEG

python - Gurobi:使用 addConstrs() 但表达式不正确