绘制线时奇怪的matplotlib颜色问题

时间:2015-10-05 19:30:53

标签: python matplotlib plot

我可能会遗漏一些非常明显的东西,但我尝试了很多组合,但我找不到这种行为的原因。

我正在运行Python v2.7.6和matplotlib v1.4.3。

我有一个简单的情节:

import matplotlib.pyplot as plt
import numpy as np
x, y = np.random.random(50), np.random.random(50)
plt.plot(x, y, c='red', ls='-', lw=1., label='a', zorder=2)
plt.show()

请注意,颜色应该是c='red'的红色。我得到的是:

enter image description here

如果我使用参数color='red'的全名,则该行应为红色。如果我在c='red'之后删除任何参数,例如:

plt.plot(x, y, c='red', ls='-', lw=1., label='a')
plt.plot(x, y, c='red', ls='-', lw=1., zorder=2)
plt.plot(x, y, c='red', ls='-', label='a', zorder=2)
plt.plot(x, y, c='red', lw=1., label='a', zorder=2)

绘制的线条红色。

我在这里做了一件非常明显错误的事情,还是我偶然发现了一个奇怪的问题?

添加

使用:

plt.plot(x, y, c='r', ls='-', lw=1., label='a', zorder=2)
建议的

(即:c='r'而不是c='red')对我的系统没有影响,我仍然得到蓝线。

2 个答案:

答案 0 :(得分:1)

以下信息适用于Python 3.x和matplotlib 1.4.3

docs

中找到

var socket = io.connect('http://localhost:8080/');

c='r'

enter image description here

似乎import matplotlib.pyplot as plt import numpy as np x, y = np.random.random(50), np.random.random(50) plt.plot(x, y, c='r', ls='-', lw=1., label='a', zorder=2) plt.show() color='red'似乎与color='r'一起工作。 c='r'不会更改线条颜色。

答案 1 :(得分:0)

这是一个已知问题,修复程序将随v1.5.0一起发布。

有关详细信息,请参阅Github上的问题:https://github.com/matplotlib/matplotlib/issues/5197