在我的许多带有图例的情节中,我经常遇到图例问题。图例经常掩盖部分数据。
可重现的示例:
import seaborn.objects as so
import numpy as np
import pandas as pd
res_df = pd.DataFrame(
{'value': np.random.rand(20),
'cfg__status_during_transmit': ['OK']*5 + ['ERR']*5 + ['WARN']*5 + ['OTH']*5}
)
(
so.Plot(res_df, y='value', x='cfg__status_during_transmit', color='cfg__status_during_transmit')
.add(so.Dots(), so.Jitter(width=0.5))
.layout(size=(8, 4))
).show()
我尝试过延长情节。这是一种黑客行为,并不方便,特别是因为它使所有东西都变得更小。
我还尝试使用
.on()
绘制到 matplotlib
图形或轴上,但同样的问题仍然存在。有一个相关的 SO 问题表明图例属性仍在开发中。我希望得到关于如何解决这个问题的建议。
谢谢。
根据
这篇文章,使用
seaborn.objects
控制图例可能仍在进行中。但是,如果我使用 plot()
而不是 show()
,我会得到一个图例,其中图例位于图表之外:
import seaborn.objects as so
import numpy as np
import pandas as pd
res_df = pd.DataFrame(
{'value': np.random.rand(20),
'cfg__status_during_transmit': ['OK']*5 + ['ERR']*5 + ['WARN']*5 + ['OTH']*5}
)
(so.Plot(res_df, y='value', x='cfg__status_during_transmit', color='cfg__status_during_transmit')
.add(so.Dots(), so.Jitter(width=0.5))
.layout(size=(8, 4))
).plot()