用自己的祖源成分数据与其他祖源成分数据做对比

这篇博客介绍了如何使用Python的pandas、numpy和matplotlib库来读取CSV文件,并生成祖源成分数据的热力图。通过设定x轴和y轴标签,展示不同祖源之间的对比。代码中设置了中文显示,并最终保存了图片,为读者提供了一种清晰的数据可视化方法。
摘要由CSDN通过智能技术生成

用自己的祖源成分数据与其他祖源成分数据做对比


概述


编程语言:python3.8
模块:pandas numpy matplotlib
可选:jupyter
整体思路:读取csv并生成热力图便于对比

步骤:见代码上注释


代码:


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取csv
df = pd.read_csv('e11.csv', index_col = 0, header = None)
# 设定x轴 y轴标签
ylabels = df.index
xlabels = ['非洲','欧洲','印度','马来','傣族','彝族','华东','日本','鄂伦春','雅库特','美洲']
# 选择所有数据
data = df.iloc[:,:]
# 设置支持中文画图
plt.rcParams['font.sans-serif'] = ['SimHei']
# matplotlib画热力图
fig = plt.figure(dpi=600)
ax = fig.add_subplot(1,1,1)
im = ax.imshow(data)
# 显示色块图例
plt.colorbar(im)
# 设定显示x轴 y轴标签
ax.set_xticks(np.arange(len(xlabels)))
ax.set_yticks(np.arange(len(ylabels)))
ax.set_xticklabels(xlabels)
ax.set_yticklabels(ylabels)
# 使x轴标签名向右倾斜45度以清晰显示
plt.setp(ax.get_xticklabels(), rotation=45, ha="right",
         rotation_mode="anchor")
# 每个色彩块上显示数值
for i in range(len(ylabels)):
    for j in range(len(xlabels)):
        text = ax.text(j, i, data.iloc[i, j],
                       ha="center", va="center", color="w")
# 设置标题
ax.set_title("E11对比图(%)")
# 保存图片
plt.savefig('heatmap.png')
# 显示图片
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yhlhhhh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值