Использование xarray.plot.line с картой цветов - PullRequest
0 голосов
/ 27 марта 2020

xarray.plot.line позволяет вам рисовать 2D-графики из вашего x-массива. Однако линии имеют определенную c цветовую карту, которую я не знаю, как изменить.

Я хочу создать график с пользовательской ListedColormap вместо карты по умолчанию.

Пример

Я не хочу, чтобы линии были голубыми, оранжевыми и зелеными

data = xr.DataArray(np.random.randn(2, 3),dims=('x', 'y'),coords={'x': [10, 20]})

>

<xarray.DataArray (x: 2, y: 3)>
array([[ 1.44058444,  0.41396068,  0.08280716],
       [ 1.0605549 , -0.97921245, -0.22373267]])
Coordinates:
  * x        (x) int64 10 20

Dimensions without coordinates: y

>

data.plot.line(x="x")

plotted lines

, поскольку xarray.plot.line не принимает аргумент "cmap". Я не знаю, как изменить цвета.

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 27 марта 2020

Спасибо @ Йохан C, Циклер работал!

import xarray as xr
import matplotlib.pyplot as plt
from cycler import cycler

colorlist = ['c', 'm', 'y', 'k']

cmap = mpl.colors.ListedColormap(colorlist)

custom_cycler = cycler(color=cmap.colors) #or simply color=colorlist

fig = plt.figure()
ax = plt.gca()

ax.set_prop_cycle(custom_cycler)

data = xr.DataArray(np.random.randn(2, 3),dims=('x', 'y'),coords={'x': [10, 20]})
data.plot.line(ax=ax, x="x");

enter image description here

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