Задайте характеристики графика matplotlib как переменную и ссылку для каждого графика - PullRequest
2 голосов
/ 27 мая 2020

Я рисую большое количество графиков и использую согласованные стили маркеров, но более одного стиля. Я ищу способ определить различные маркеры, которые я хочу использовать один раз, а затем просто вызвать соответствующий маркер для каждого графика. Рассмотрим

import matplotlib.pyplot as plt
import numpy as np

a = np.random.rand(50)
b = np.random.rand(50)
c = np.random.rand(50)
x = np.random.rand(50)

plt.plot(x,a, 'o', markeredgecolor = 'b', markerfacecolor = 'b')
plt.plot(x,b, 's', markeredgecolor = 'xkcd:amber', markerfacecolor = 'xkcd:amber')
plt.plot(x,c, '<', markeredgecolor = 'r', markerfacecolor = 'r')

Я хотел бы иметь что-то вроде

marker1 = {'o', markeredgecolor = 'b', markerfacecolor = 'b'}
marker2 = {'s', markeredgecolor = 'xkcd:amber', markerfacecolor = 'xkcd:amber'}
marker3 = {'<', markeredgecolor = 'r', markerfacecolor = 'r'}
plt.plot(x,a,marker1)
plt.plot(x,b,marker2)
plt.plot(x,c,marker3)

Я хочу создать серию разных маркеров (или стилей линий и т.д. c.) И называть их по имени переменной. Я не хочу менять глобальные настройки. У меня больше характеристик, чем только те, что указаны в примере.

Я не знаю, как это называется, поэтому поиск решения был довольно неудачным - извиняюсь, если об этом уже спросили и ответили.

1 Ответ

1 голос
/ 27 мая 2020

Поместите параметры маркера в словарь, а затем распакуйте его, например:

marker1 = {'marker': 'o', 'markeredgecolor': 'b', 'markerfacecolor': 'b'}
marker2 = {'marker': 's', 'markeredgecolor': 'xkcd:amber', 'markerfacecolor': 'xkcd:amber'}
marker3 = {'marker': '<', 'markeredgecolor': 'r', 'markerfacecolor': 'r'}

plt.plot(x, a, **marker1)
plt.plot(x, b, **marker2)
plt.plot(x, c, **marker3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...