Python: построение нескольких наборов данных; предварительно определить все цвета и маркеры? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть Pandas Dataframe, в котором каждый столбец представляет отдельный набор данных, и я хотел бы отобразить их все вместе. Я могу просто позвонить plt.plot(df), и он делает это на отлично. У меня два вопроса:

  1. Как изменить цвета графиков по умолчанию? То есть, как я могу заставить другую цветовую карту?
  2. Можно ли, так сказать, дать все символы сюжета за один раз?

Я знаю, что могу определить стиль графика для каждого столбца отдельно, например:

plt.plot(df['col1'],'ro-',df['col2'],'b*--',df['col3'],'go-.')

Но я надеялся на что-то более краткое, в духе:

plt.plot(df,colors=colors, styles=styles, markers=markers)

где переменные colors, styles и markers были определены ранее. Или, может быть, что-то вроде:

plt.colors = <something that defines colors>
plt.styles = ...
plt.markers = ...
plt.plot(df)

Я знаю, что нет plt.styles, но есть ли что-то, что могло бы иметь тот же эффект: то есть, предопределить все возможные стили линий, которые будут использоваться в многострочном графике?

1 Ответ

0 голосов
/ 27 июня 2019

Обратитесь к документации по Styling с помощью cycler в документации.

from cycler import cycler
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

mycycler = (cycler(color=['r', 'g', 'b', 'y']) +
            cycler(linestyle=['-', '--', ':', '-.']) + 
            cycler(marker=['s', 'o', 'd', '^']))
plt.rc('axes', prop_cycle=mycycler)


plt.plot(pd.DataFrame(np.random.rand(10,4)))

plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...