Как я могу удалить или изменить текст из сюжета matplotlib? - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть гистограмма, которая мне возвращается (у меня есть доступ к объекту AxesSubplot), на которой уже есть метки. Проблема в том, что они неразборчивы, и я хотел бы увеличить их (или очистить и сбросить их). Возьмите следующий код, например:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'a':['red','green','blue'], 'b':[4,8,12]})
plot = df.plot(kind='barh')

for i in plot.patches:
    plot.text(i.get_width()+.01, i.get_y()+.38, str(i.get_width()), fontsize=31)

Создает красивый линейный график с метками на столбцах. Но допустим, я хочу удалить или изменить эти ярлыки, как это можно сделать?

1 Ответ

0 голосов
/ 01 ноября 2018

Вы можете получить доступ к текстовым объектам, используя plot.texts. В вашем примере вы получите:

>>> plot.texts
[Text(4.01,0.13,'4'), Text(8.01,1.13,'8'), Text(12.01,2.13,'12')]

Вы можете удалить их все в цикле:

for t in plot.texts:
    t.set_visible(False)

Или измените атрибуты (например, размер шрифта) аналогичным образом:

for t in plot.texts:
    # Reduce fontsize to 10:
    t.set_fontsize(10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...