Как выбрать новый цвет для каждой построенной линии внутри фигуры в matplotlib?

Я нашел решение: путем установки deb для 32 битов я понял, что отсутствовал, некоторые библиотеки (в дополнение к ia32-освобождает и libc6). Я сначала решил эту проблему путем предоставления этой команды: sudo apt-get install -f.

Затем я получил другую ошибку: Message: SDL_GL_LoadLibrary Error: Failed loading libGL.so.1

, Очевидно, эти библиотеки были правильно установлены. Без того, чтобы сообщать подробности я должен был связать библиотеки вручную. Я понял затем, что это могло также более легкое решение посредством Синаптической установки следующие пакеты: libgl1-mesa-glx:i386, libgl1-mesa-dri:i386.

После этого следующей проблемой был черный экран при проигрывании, который я решил путем замены исполняемого файла в /Shank/bin с этим: http://treefort.icculus.org/smb/smb-linux-mesa-hotfix-test.tar.bz2 .

я надеюсь, что это будет полезно для кого-то. Если Вы нуждаетесь в большем количестве помощи или большем количестве деталей, не стесняйтесь связываться со мной.

88
задан Mark Amery 17 November 2019 в 16:08
поделиться

1 ответ

Как ответ Ciro примечания, можно использовать prop_cycle для установки списка цветов для matplotlib для циклического повторения через. Но сколько цветов? Что, если Вы хотите использовать тот же цветной цикл для большого количества графиков с различными числами строк?

Одна тактика должна была бы использовать формулу как та от https://gamedev.stackexchange.com/a/46469/22397, для генерации бесконечной последовательности цветов, где каждый цвет пытается существенно отличаться от всех те, которые предшествовали ему.

, К сожалению, prop_cycle не примет бесконечные последовательности - это зависнет навсегда при передаче его один. Но мы можем взять, скажем, первые 1 000 цветов, сгенерированных от такой последовательности, и устанавливать его как цветной цикл. Тот путь, для графиков с любым нормальным количеством строк, необходимо получить различимые цвета.

Пример:

from matplotlib import pyplot as plt
from matplotlib.colors import hsv_to_rgb
from cycler import cycler

# 1000 distinct colors:
colors = [hsv_to_rgb([(i * 0.618033988749895) % 1.0, 1, 1])
          for i in range(1000)]
plt.rc('axes', prop_cycle=(cycler('color', colors)))

for i in range(20):
    plt.plot([1, 0], [i, i])

plt.show()

Вывод:

Graph output by the code above

Теперь, все цвета отличаются - хотя я признаю, что изо всех сил пытаюсь отличить несколько из них!

0
ответ дан 24 November 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: