【问题标题】:Matplotlib 1.5 usage of axes.prop_cycleMatplotlib 1.5 使用 axes.prop_cycle
【发布时间】:2016-03-18 18:27:03
【问题描述】:

axes.color_cycle 在 Matplotlib 1.5 中已弃用。然而,它的用法非常简单:我们可以通过以下方式轻松获取特定颜色:

plt.rcParams['axes.color_cycle'][color_number]

axes.prop_cycle 不支持这种语法:

ValueError: Can only use slices with Cycler.__getitem__

而且cycler doc不是很详细http://matplotlib.org/cycler/

所以我不知道如何从 prop_cycle 获得特定颜色。任何想法? 谢谢

【问题讨论】:

    标签: python matplotlib colors


    【解决方案1】:

    要得到你想要的值:

    list(mpl.rcParams['axes.prop_cycle'])[1]['color'])
    

    有一个开放的PR 可以将by_key 方法添加到Cycler 对象,因此最终会是

    mpl.rcParams['axes.prop_cycle'].by_key()['color'][1]
    

    也有一些关于将颜色'c1'映射到prop_cycle中的第一个颜色的讨论,但尚未实现。

    我是循环器文档的主要作者,您还想在那里查看哪些其他详细信息?

    【讨论】:

    • list(plt.rcParams['axes.prop_cycle'])[1]['color'] 工作正常!谢谢 关于文档,它很好地解释了如何创建循环器,但它对使用现有循环器的方式不是很明确,例如 axes.prop_cycle。
    【解决方案2】:
    colors = [color['color'] for color in list(mpl.rcParams['axes.prop_cycle'])]
    colors[1]
    

    是一种恢复旧用途的方法。第一行返回一个二维颜色数组。

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 2018-08-20
      • 2017-09-25
      • 2017-08-08
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      相关资源
      最近更新 更多