在xarray.DataArray.plot中禁止标签

时间:2018-04-27 18:36:24

标签: python matplotlib python-xarray

我正在使用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 :(得分:1)

如果你传递一个空字符串,Xarray的绘图模块似乎会跳过图例条目:

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

enter image description here

答案 1 :(得分:0)

一种解决方法是在绘制线后,在this answer之后设置标签:

create table total_stock as (
select item_id,
sum (stock) total_stock
from stock_tbl
group by item_id
order by item_id
);