gpt4 book ai didi

python - Matplotlib:手动向axes.prop_cycle()中的默认颜色添加更多颜色?

转载 作者:行者123 更新时间:2023-12-02 03:39:09 25 4
gpt4 key购买 nike

我只是将样本增加到 12 个,发现 axes.prop_cycle() 默认情况下只有 10 种颜色(我认为是 tab10)。所以我得到了IndexError:列表索引超出范围

我的简化代码。每个样本值都表示在矩阵的每一行中

matrix = np.random.randint(25, size=(12, 4))

for p in xrange(12):
ax_eachp = plt.subplot2grid((protcount, 1), (p, 0), rowspan=1, colspan=1)
ax_eachp.plot(matrix[p], color=colors[p])

如果我想在 tab10 中保留前 10 种颜色,我可以手动再添加 2 种颜色吗?或者如何更改为其他qualitative color maps

最佳答案

正如链接的问题 Python Matplotlib/Basemap Color Cycling显示,您可以设置轴的 prop_cycle 以包含您喜欢的颜色。

在这里,您可以使用 tab10 颜色并将另外两种颜色添加到要在 prop_cycle 中使用的颜色列表中。

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
colors = list(plt.cm.tab10(np.arange(10))) + ["crimson", "indigo"]
ax.set_prop_cycle('color', colors)

for i in range(12):
ax.plot([0,1],[i,i])

plt.show()

enter image description here

但是,由于在问题的情况下,您无论如何都会循环颜色,因此实际上不需要循环器。以下产生与上面相同的结果。

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
colors = list(plt.cm.tab10(np.arange(10))) + ["crimson", "indigo"]

for i in range(12):
ax.plot([0,1],[i,i], color=colors[i])

plt.show()

关于python - Matplotlib:手动向axes.prop_cycle()中的默认颜色添加更多颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49233855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com