【问题标题】:customized matplotlib colorbar自定义 matplotlib 颜色栏
【发布时间】:2011-12-02 19:02:50
【问题描述】:

colors = ['white', '#FFFFBB', '#C3FDB8', '#B5EAAA', '#64E986', '#54C571', 
          '#4AA02C','#347C17','#347235','#25383C','#254117']

我使用 matplotlib 制作了一个绘图(类似于热图) 我想:

1) 使用我在列表中定义的颜色创建图例或
2)无论如何在matplotlib中自动化它以创建与R中的效果一样漂亮? 正常的 matplotlib 颜色渐变看起来太“尖锐”了……

谢谢!

【问题讨论】:

  • 你看过other colormaps - 看起来“夏天”与你使用的很接近,白色是空值。

标签: python matplotlib colorbar


【解决方案1】:

使用ListedColormap 相当简单:

import matplotlib.cm as cm  # color map
import matplotlib.gridspec as gridspec
import matplotlib as mpl
import numpy as np

#dummy data
hm = np.random.randint(0, 100, size=(5, 5))

#define colors
cmap = mpl.colors.ListedColormap(['white', '#FFFFBB', '#C3FDB8', '#B5EAAA', '#64E986', '#54C571',
          '#4AA02C', '#347C17', '#347235', '#25383C', '#254117'])

#create plot frames
gs = gridspec.GridSpec(2,2, height_ratios=[6,2], width_ratios=[20,1],)
ax = plt.subplot(gs[0, 0])

#heatmap and colorbar
im = ax.pcolor(hm, cmap=cmap)
cbar = plt.colorbar(im, cax=plt.subplot(gs[1]))

plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 2020-09-28
    • 2022-08-19
    • 2018-03-18
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多