Matplotlib: текст отображается неправильно - PullRequest
0 голосов
/ 20 июня 2020

Я бы хотел, чтобы "eps" над графиками и легендой в углу.

fig = plt.figure(figsize=(20, 10))
fig.subplots_adjust(hspace=.5, wspace=.2)
i = 1
for x in range(10, 0, -1):
    eps = 1/(11-x)
    db = DBSCAN(eps=eps, min_samples=100).fit(X_principal)
    core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
    core_samples_mask[db.core_sample_indices_] = True
    labels = db.labels_

    ax = fig.add_subplot(2, 5, i)
    ax.text(1, 4, "eps = {}".format(round(eps, 1)), fontsize=25, ha="center")
    sns.scatterplot(X_principal[:,0], X_principal[:,1], hue=["cluster-{}".format(x) for x in labels])
    
    i += 1

Текущий сюжет

X_principal выглядит так:

1.261629505581407962e+00;-1.434372260056721027e-01
-5.521535678271654035e-01;-4.614121608900002558e-01
-6.850321736083145874e-01;7.868857525366866612e-02
-6.889181184444846950e-01;2.535488062196597156e-02
-6.838155959275716844e-01;8.871091572345068954e-02

1 Ответ

1 голос
/ 20 июня 2020

Думаю, вам нужно использовать ax.set_title() вместо ax.text.

У меня нет значения X_principal, поэтому я использовал несколько случайных чисел:

X_principal = np.array([[1, 2], [2, 2], [2, 3],
                        [8, 7], [8, 8], [25, 80]])

for x in range(10, 0, -1):
    eps = 1/(11-x)
    ...
    ...
    ax = fig.add_subplot(2, 5, i)
    ax.set_title("eps = {}".format(round(eps, 1)), fontsize=25) #<--- change this
    ...

И вот результат: введите описание изображения здесь

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