Подтвердить что ты не робот

Более мелкие цвета по умолчанию в matplotlib

Стандартные цвета, используемые в matplotlib (пример здесь: http://matplotlib.org/examples/pylab_examples/pie_demo.html), являются простыми и уродливыми. Я также заметил, что если вы планируете более 5-6 разных серий в одном сюжете, matplotlib начинает повторять цвета.

Я видел некоторые великолепные графики, выходящие из других пакетов визуализации (на других языках по умолчанию), которые могут иметь 5-6 разных серий, покрытых одним цветом в разных оттенках. У кого-нибудь есть хороший цвет, который можно использовать в matplotlib? И каким образом использовать matplotlib по умолчанию?

4b9b3361

Ответ 2

Посмотрите prettyplotlib библиотеку, которая недавно указала мне друзьями, - которая изменяет matplotlib, чтобы лучше совместить с идеи Эдвард Туфте, а также некоторые очень тщательно изученные работы Cynthia Brewer о восприятии цвета.

Ответ 3

Вопрос был задан 2 года назад, и сегодня гораздо легче получить лучший стиль для вашего заговора. Для этого вам даже не нужны внешние пакеты. Как упоминалось в своем комментарии в @asmier, функциональность mpltools.style была интегрирована в Matplotlib 1.4, поэтому вы можете переключать стили с помощью

plt.style.use(style_name)

Например:

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('ggplot')

num_lines = 6

ax = plt.subplot(111)

for i in range(num_lines):
    x = np.linspace(0,20,200)
    ax.plot(x,np.sin(x)+i)

plt.show()

введите описание изображения здесь

Вы можете перечислить все доступные стили с помощью:

print plt.style.available

В Matplotlib 1.5 добавлено несколько новых стилей, в том числе много стилей из проекта Seaborn:

plt.style.use('seaborn-dark-palette')

введите описание изображения здесь

Ответ 4

В пакете Seaborn (на основе Matplotlib) есть красивые стили графа по умолчанию, и я обнаружил, что это хороший способ создания привлекательного цветового цикла,

Здесь есть приятное обсуждение цветовых палитр: https://stanford.edu/~mwaskom/software/seaborn/tutorial/color_palettes.html

Следующий код демонстрирует, как вы можете автоматически выбрать новый color_cycle для простой строки:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns   

num_lines = 6

ax = plt.subplot(111)
ax.set_color_cycle(sns.color_palette("coolwarm_r",num_lines))

for i in range(num_lines):
    x = np.linspace(0,20,200)
    ax.plot(x,np.sin(x)+i)

plt.show()

введите описание изображения здесь

Если вы хотите просто изменить linecolors и не использовать другие морские предустановки, такие как серый фон, просто импортируйте seaborn с помощью

import seaborn.apionly as sns

Ответ 5

Вы можете настроить файл .matplotlibrc. На самом деле очень прокомментированный пример - здесь. Мне кажется, что вариант, который вы хотите изменить, - axes.color_cycle. У меня нет никаких советов о том, что сделать его для более красивого интерфейса. Это слишком субъективный Stack Overflow;-) (и я доволен настройками по умолчанию)

Ответ 6

Вы можете использовать colormap функциональность matplotlib.

Хорошим примером является этот вопрос. Вы можете показать свои параметры цветовой схемы используя этот script.

Ответ 7

Для более насыщенного набора цветов, который можно использовать с matplotlib, выберите palettable, в котором представлена ​​замечательная палочки Wes Anderson.

$ pip install palettable
$ python
>>> from palettable.colorbrewer.qualitative import Dark2_7