首页 > 解决方案 > 如何在 seaborn 热图中设置绝对颜色范围?

问题描述

全部 - 我有以下代码来绘制热图:

import pandas as pd    
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns

data = pd.pivot_table(df.round({'DataA':1}), index='Position',columns='Start',  values='DataA', aggfunc= 'sum')
    data = data.fillna(0)
    import matplotlib.colors as colors

    cmap, norm = colors.from_levels_and_colors([-15000, -500, -10,10,500,10000,100000], ['red','orange','white','green', 'lime','blue'])


f, ax = plt.subplots(figsize=(16, 8))
ax = sns.heatmap(data, annot=True, fmt='g', linewidths=.5, ax=ax, cbar=True,cmap=cmap,norm=norm).set_title('Title')
plt.show()

产生:

阴谋

您将看到在第二列中有一个全空白单元格,它应该显示该值,11786.2但我看不到它。为什么所有的价值观都10000没有显示出来,我做错了什么?

任何帮助将非常感激!

标签: pythonmatplotlibseaborn

解决方案


推荐阅读