легенда морского происхождения название - PullRequest
0 голосов
/ 27 января 2019

Я хочу нарисовать график с помощью seaborn, однако название заголовка легенды моего графика всегда остается в одной строке с другими именами легенды, такими как:

enter image description here

код, который я использую, выглядит следующим образом:

test = pd.read_csv('test.csv')
ax = sns.lineplot(x='hour',y='travel_time',hue='Name',data=test)
ax.legend(shadow=True, fancybox=True, ncol = 2, fontsize = 14)

Данные доступны через:

https://knightsucfedu39751 -my.sharepoint.com /: x:/ g / personal / peili_knights_ucf_edu / ES8Y98bYZndNulxVKSsaHRgB67TYkAvg4uLwWszDiJvAzQ? e = oumJpK

Я хочу поместить название легенды в центр области легенды. Кто-нибудь знает, как решить эту проблему? Кто-нибудь знает, как решить эту проблему?Спасибо!

1 Ответ

0 голосов
/ 27 января 2019

Конечно, вы можете настроить легенду, удалив поддельную запись заголовка и добавив реальный заголовок.В конце концов, это более обременительно, чем просто использовать matplotlib для линейного графика, потому что это предлагает центрированный заголовок бесплатно.

Для этого потребуется еще одна строка кода, которая может выглядеть следующим образом:

for n, grp in df.groupby("hue"):
    plt.plot("xData", "yData", data=grp, label=n)
plt.legend(shadow=True, fancybox=True, ncol = 2, title="Name")

Для полноты, работающий пример:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

df = pd.DataFrame({"xData" : np.sort(np.cumsum(np.random.randn(10,10), axis=1), axis=1).flatten(),
                   "yData" : np.cumsum(np.random.randn(10,10), axis=1).flatten(),
                   "hue" : np.array([[f"Label {i+1}"]*10 for i in range(10)]).flatten()})

for n, grp in df.groupby("hue"):
    plt.plot("xData", "yData", data=grp, label=n)
plt.legend(shadow=True, fancybox=True, ncol = 2, title="Name")

plt.show()

, что приводит к

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...