【问题标题】:barplot with N distinct colors shade in matplotlibmatplotlib中具有N种不同颜色阴影的条形图
【发布时间】:2014-08-25 16:00:01
【问题描述】:

我有一个使用 python matplotlib.pyplot.bar 构建的 N 个条形图,我想在阴影后为每个条形赋予不同的颜色:

例如,如果 N = 4,我想要:黄色、橙色、浅红色、深红色。我想留在黄红色调。

但我希望阴影以 N 作为参数。

你能帮帮我吗?

【问题讨论】:

    标签: python matplotlib colors


    【解决方案1】:

    我建议你使用颜色图来完成你想要的。有很多可用的彩色地图,选择您喜欢的或自己制作。

    import matplotlib.pyplot as plt
    import numpy as np
    
    # number of bars
    N = 20
    
    # plot a random bar graph
    fig = plt.figure()
    ax = fig.add_subplot(111)
    bars = ax.bar(np.arange(N), np.random.random(N))
    
    # change the colors according to the color map 'jet'
    for i, b in enumerate(bars):
        b.set_color(plt.cm.jet(1. * i / (N - 1)))
    

    这会创建:

    所以,有两点:

    • 绘制条形图时,bar 返回条形集合
    • 通过为所需的颜色图提供 0..1 之间的参数来更改每个条的颜色(这里最左边是 0,最右边是 1,但如果需要,您可以只选择颜色图的一小部分)李>

    定义您自己的颜色图也很容易。或者,如果您只想在两种颜色之间进行线性过渡,您可以完全跳过使用颜色图并进行自己的计算。 set_color 期望接收颜色名称或可迭代的 3 (RGB) 或 4 (RGBA) 元素。

    【讨论】:

    • 感谢您非常完整的回答!
    猜你喜欢
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 2021-11-16
    • 2019-11-02
    相关资源
    最近更新 更多