nancy_xt 2021-08-13 19:31 采纳率: 0%
浏览 721

python sns绘制热力图如何根据数值条件填充指定颜色?而非使用系统自定义的色带。

python 使用sns绘制热力图如何根据数值条件填充指定颜色?而非使用系统自定义的色带。
有点类似于在excel中使用条件格式:
0<x≤35:填充绿色
35<x≤75:填充黄色
75<x≤115:填充橙色

实现最终效果图:

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-HGJ 2021-08-13 20:46
    关注

    用自带的flights数据库测试了一下,通过自定义cmap显示出来了结果。你可以用自己的数据集测试看看能否实现的你想得到的效果图。

    import seaborn as sns
    from matplotlib import pyplot as plt
    #mypalette = ['#e8f0ff', '#51abff', '#12b74c', '#fffb16',  '#ffc044', '#ff9400', '#ff6a00', '#c13300', '#b20c0c']
    #plt.figure('hmap')
    flights = sns.load_dataset("flights")
    def c(x):
        if 0<=x<=200:
            return 'green'
        elif 200<x<=400:
            return 'yellow'
        else:
            return 'brown'
    col=flights['passengers'].apply(lambda x:c(x)).tolist()
    flights = flights.pivot("month", "year", "passengers")
    #sns.palplot(sns.color_palette(mypalette))
    ax = sns.heatmap(flights, cmap=col, center=350)
    plt.show()
    
    评论

报告相同问题?

问题事件

  • 创建了问题 8月13日

悬赏问题

  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红