matplotlib 从海运线图图例中删除样式条目[重复]

uurv41yg  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(123)

这个问题已经有答案了

Remove a legend section from a seaborn plot(1个答案)
11天前关闭
我有一个Pandas的名字,日期,强度,协议栏。
我正在绘制一个海上线路图,

  • date列为x;
  • 强度柱为y;
  • 协议列为色调;
  • 将列命名为样式。

我希望只有色调标 checkout 现在图例中,但现在我有一个协议图例,后面跟着一个名称图例。
你有一个解决方案,留在海上为此?
我的代码是,没有任何幻想:

df = pd.DataFrame({
    'name':['A','A','B','B','C','C','D','D'],
    'date':[1,2,1,2,1,2,1,2],
    'strenght':[1,10,2,5,6,5,10,20],
    'protocol':['a','a','b','b','a','a','b','b']})
sns.lineplot(data = df,   x = 'date', y = 'strenght', hue = 'protocol', style = 'name')

议定书

  • B

名称

  • ...
  • -- B
  • -* C
  • *- D

我想让你
议定书

  • B

两种不同的颜色

kdfy810k

kdfy810k1#

  • 根据副本
df = pd.DataFrame({
    'name':['A','A','B','B','C','C','D','D'],
    'date':[1,2,1,2,1,2,1,2],
    'strenght':[1,10,2,5,6,5,10,20],
    'protocol':['a','a','b','b','a','a','b','b']})
ax = sns.lineplot(data = df,   x = 'date', y = 'strenght', hue = 'protocol', style = 'name')

h, l = ax.get_legend_handles_labels()
ax.legend(h[0:3], l[0:3], bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0., fontsize=13)

相关问题