Діаграми прозорої лінії Matplotlib


131

Я будую дві подібні траєкторії в matplotlib, і я хотів би побудувати кожну з ліній з частковою прозорістю, щоб червоний (накреслений другий) не затемнював синій.

alt текст

EDIT : Ось зображення прозорими лініями.

alt текст

Відповіді:


254

Простий і простий:

plt.plot(x, y, 'r-', alpha=0.7)

(Я знаю, що я нічого нового не додаю, але прямо відповідь має бути видно).


Я не бачу, де параметр альфа задокументований. Чи можете ви оновити відповідь, щоб вказати, де це задокументовано?
Алекс Сперлінг

1
@AlexSpurling plt.plotбере аргументи ключових слів, для Line2Dяких параметр альфа, серед інших, є властивістю.
Третьої води

27

Після того, як я побудував усі рядки, я зміг встановити прозорість усіх наступним чином:

for l in fig_field.gca().lines:
    l.set_alpha(.7)

EDIT: будь ласка, дивіться відповідь Джо в коментарях.


28
Усі функції побудови графіку maplotlib приймають параметр альфа безпосередньо. Можна просто зробити plt.plot(x, y, 'r-', alpha=0.7).
Джо Кінгтон

3
Я був би радий побачити оновлену картину - чи не могли б ви додати її до цієї відповіді?
Свен Марнах

3
@JoeKington: це, здається, містить рядки перед застосуванням прозорості. Чи є спосіб зробити це навпаки, щоб прозорі лінії склалися разом, щоб темніти?
naught101

5

Це дійсно залежить від того, які функції ви використовуєте для побудови ліній, але спробуйте переконатись, що значення, яке ви використовуєте, приймає значення альфа та встановіть його на щось на зразок 0,5. Якщо це не працює, спробуйте отримати об'єкти рядка та встановити їхні значення альфа безпосередньо.


1
У коментарі @ joe-kington сказано, що всі функції matplotlib приймають альфа-параметр, чи потрібна ваша відповідь виправлення чи його коментар?
U3.1415926
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.