如何使用seaborn为字符串数据设置同色系渐变单元格填充色
实现方案
完全可以实现该同色系渐变着色效果,你可以参考以下步骤操作:
1. 提前安装所需依赖
你需要提前安装pandas、seaborn、matplotlib、openpyxl四个库,安装命令如下:pip install pandas seaborn matplotlib openpyxl
2. 完整实现代码
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 读取Excel数据,按需修改文件名、工作表名、表头参数 df = pd.read_excel('你的数据文件路径.xlsx', sheet_name='Sheet1', header=None) # 为a-f六个取值映射梯度数值,数值越大对应颜色越深 value_mapping = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6} value_df = df.replace(value_mapping) # 绘制同色系渐变单元格热力图 plt.figure(figsize=(df.shape[1] * 0.8, df.shape[0] * 0.8)) sns.heatmap( value_df, cmap='Blues', # 可替换为Greens、Purples、Oranges等同色系渐变盘 annot=df.values, # 单元格内显示原始字母内容 fmt='s', # 设置标注格式为字符串 cbar=False, # 不需要侧边颜色条可保留该行,需要则删除 xticklabels=False, # 不需要显示列号可保留该行,需要则删除 yticklabels=False # 不需要显示行号可保留该行,需要则删除 ) plt.tight_layout() # 保存结果到本地,可修改保存文件名 plt.savefig('着色结果.png', dpi=300, bbox_inches='tight') plt.show()
效果调整说明
- 如需更换色系,直接修改
cmap参数的取值即可,seaborn内置了大量同色系渐变配色盘可选 - 如需调整单元格大小、字体等样式,可修改
figsize参数和seaborn heatmap的对应字体参数
内容的提问来源于stack exchange,提问作者project.py
相关产品推荐
相关产品推荐

