更改 Seaborn 图中图例的位置
在本教程中,我们将学习如何在 Python 中更改 seaborn 图中的图例位置。
为此,我们需要禁用默认图例。这可以通过在 plot 函数中将 legend
参数设置为 False 来完成。我们将使用 matplotlib 库中的 matplotlib.pyplot.legend()
函数显式添加图例。
要更改图例的位置,我们将使用此函数中的 loc
参数。我们可以指定图例所需的位置作为该参数的值。
例如,
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({"Day 1": [7,1,5,6,3,10,5,8],
"Day 2" : [1,2,8,4,3,9,5,2]})
sns.lineplot(data = df, legend = False)
plt.legend(labels = ['Day1','Day2'],loc = 'upper right')
我们还可以指定不同的数字作为此参数的值。不同的数字对应不同的位置。比如 1 代表右上位置,2 代表左上位置等。参考这篇 Matplotlib 文章得到数字与位置关系表。
默认情况下,loc
参数的值为 0,这意味着它会搜索图中的位置,以便发生最小重叠。
我们还可以使用 bbox_to_anchor
参数将图例框放置在图外。bbox_to_anchor
指定图例相对于 loc
参数中指定位置的位置。如果我们使用二元元组设置 bbox_to_anchor
参数,那么它会将它们的值视为沿指定 loc
定位的 x 和 y 值。
例如,
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({"Day 1": [7,1,5,6,3,10,5,8],
"Day 2" : [1,2,8,4,3,9,5,2]})
import seaborn as sns
sns.lineplot(data = df, legend = False)
plt.legend(labels = ['Day1','Day2'],loc = 2, bbox_to_anchor = (1,1))
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。