Jan*_*Jan 2 python colors matplotlib python-2.7
我只是将样本增加到 12 个,发现axes.prop_cycle()默认情况下只有 10 种颜色(我认为是tab10。)。所以我得到了IndexError: list index out of range。
我的简化代码。每个样本值都表示在矩阵的每一行中
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])
Run Code Online (Sandbox Code Playgroud)
如果我想保留前 10 种颜色,我可以手动再添加 2 种颜色吗tab10?或者如何更改为其他定性彩色图?
正如链接的问题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()
Run Code Online (Sandbox Code Playgroud)
然而,由于在问题的情况下,你无论如何都会循环颜色,所以实际上不需要循环器。以下产生与上面相同的结果。
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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2697 次 |
| 最近记录: |