подавить метку в xarray.DataArray.plot - PullRequest
0 голосов
/ 27 апреля 2018

Я использую xarray.DataArray.plot для построения своих значений, например:

In [26]: cla()

In [27]: da = xarray.DataArray(arange(6*5).reshape(6,5), dims=("a", "b"), coords={"a": range(6), "b": range(5), "c": ("a", range(6))})

In [28]: da["c"].plot(label="a")
Out[28]: [<matplotlib.lines.Line2D at 0x7fef942e8b38>]

In [29]: da["c"].plot(label=None)
Out[29]: [<matplotlib.lines.Line2D at 0x7fef94279dd8>]

In [30]: legend()
Out[30]: <matplotlib.legend.Legend at 0x7fef942cba20>

Мой желаемый эффект состоит в том, что da["c"].plot(label=None) не приводит к какой-либо помеченной строке. Тем не менее, xarray, кажется, дает ему метку "c" в результирующем графике, в результате чего он появляется в легенде. Как я могу подавить это?

Resulting plot

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Модуль построения Xarray, похоже, пропускает запись легенды, если вы пропустите пустую строку:

da["c"].plot(label="a")
da["c"].plot(label='')
legend()

enter image description here

0 голосов
/ 27 апреля 2018

Один из обходных путей - установить метку после построения линии, следуя этому ответу :

In [46]: L = da["c"].plot(label=None)    

In [47]: L[0].set_label(None) 
...