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 seaborn as sns
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]}
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc=2, bbox_to_anchor=(1, 1))
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn