【问题标题】:Using xarray.plot.line with colormap将 xarray.plot.line 与颜色图一起使用
【发布时间】:2020-07-08 14:46:10
【问题描述】:

xarray.plot.line 允许您从 x 数组中绘制二维图形。但是这些线条有一个特定的颜色图,我不知道如何更改。

我想使用自定义 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")

由于 xarray.plot.line 不采用“cmap”参数,我不知道如何更改颜色。

感谢您的帮助!

【问题讨论】:

  • 您可以直接通过matplotlibseaborn 设置颜色循环。在创建 ax 之前,您需要将其设置为开始。无论哪种方式,您都需要颜色列表,而不是颜色图。

标签: python matplotlib plot python-xarray colormap


【解决方案1】:

谢谢@JohanC,cycler 辛苦了!

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");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2023-01-09
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    相关资源
    最近更新 更多