2015-10-05 6 views
1

Возможно, мне не хватает чего-то очень очевидного здесь, но я пробовал множество комбинаций. Мне не удалось найти причину такого поведения.Weird matplotlib проблема цвета при построении линии

Я запускаю 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') не оказывает никакого влияния на мою систему, я все еще получаю синюю линию.

+0

Вы не предполагают, чтобы написать 'C = 'red'', это' с =' r'' – freddiev4

+0

Запись 'с = 'r'' ничего не меняет в моей системе я все еще получаю синюю линию. – Gabriel

+1

@ FreddieV4 он должен отлично работать с c = 'red'. Обратите внимание, что он работает, когда один из аргументов убирается. Кроме того, он находится в [docs] (http://matplotlib.org/api/colors_api.html). «Наконец, поддерживаются юридические названия html для цветов, таких как« красный »,« burlywood »и« blackreuse »». – SirParselot

ответ

1

Следующая информация работа с 3.м Python и Matplotlib 1.4.3

c='r' найден в docs

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() 

enter image description here

Как кажется color='red' и color='r', кажется, работает вместе с c='r' , c='red' не меняет цвет линии.

+0

Нет, это не влияет на мою систему. какие версии Python и matplotlib вы используете? – Gabriel

+1

Также в [docs] (http://matplotlib.org/api/colors_api.html). «Наконец, поддерживаются юридические названия html для цветов, таких как« красный »,« burlywood »и« blackreuse »». – SirParselot

+0

Python 3.4. 'c = 'red'' не работает для меня,' c = r' does. Запуск той же версии mpl, что и вы. – Leb

Смежные вопросы