【发布时间】:2016-05-14 00:08:40
【问题描述】:
我对 Matplotlib.pyplot 和命名空间有疑问。 见以下代码:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import cm
x=np.linspace(0,1,28)
color=iter(cm.gist_rainbow_r(np.linspace(0,1,28)))
plt.clf()
for s in range(28):
c=next(color)
plt.plot(x,x*s, c=c)
plt.show()
这个想法是用彩虹图的不同颜色绘制地块。 现在发生的事情是,在第一次执行时它可以工作,但是事情变得越来越奇怪。 在多次连续执行时,地图会停止使用,而是使用默认地图。
我发现问题可能出在 plot 函数中的“c=c”中,但是我尝试了不同的命名“c”、“color”、....问题在这里。
有人可以重现问题并且(至少连续尝试 5 次代码)能够解释这里发生了什么吗?
谢谢
【问题讨论】:
-
这对我来说很好用。您能否上传一张显示问题所在的图片?
-
对不起;我忘了说明我正在使用的版本。它是 Python 3.4.1 和 matplotlib 1.4.3。还;我只是试图在朋友的计算机上重现它(matplotlib 1.4.0.r...),但它没有用。或者更好:脚本的行为符合预期。
-
@tom:我相信它对你有用,因为我无法在另一台机器上重现它。然而;正如我可以解释的那样,我不需要上传失败的图像。有时,图中的 c 参数似乎没有正确传输,因为该图是使用默认颜色绘制的(几次后重复)。我什至尝试为绘图函数提供一个恒定的 rgba 元组,例如:“..., c=[0.0, 0.7, 0.2, 1.0]..”。然后我遇到了同样的问题。有时所有线条的颜色都相同,有时则不同。我真的不明白,这里发生了什么。
标签: matplotlib plot colors namespaces colormap