Я хотел бы иметь возможность добавлять в matplotlib текст сноски, подобный следующему:
Следующий код создаст график с похожими текст
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
fig, ax = plt.subplots(figsize = (5, 8))
n = 10
np.random.seed(1)
_ = ax.scatter(np.random.randint(0, 10, n), np.random.randint(0, 10, n), s=500)
x = 0
y = 1
_ = ax.text(
x, y, "hello this is some text at the bottom of the plot", fontsize=15, color="#555"
)
Что выглядит как:
Однако, если данные изменятся, то приведенное выше не изменится, например как:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
fig, ax = plt.subplots(figsize=(5, 8))
n = 10
np.random.seed(2)
_ = ax.scatter(np.random.randint(0, 10, n), np.random.randint(0, 10, n), s=500)
x = 0
y = 1
_ = ax.text(
x, y, "hello this is some text at the bottom of the plot", fontsize=15, color="#555"
)
Я видел этот вопрос / ответ , и это просто говорит, как построить текст в конкретная x,y
координата. Я специально хочу иметь возможность установить сноску, а не строить график для определенных x, y, поэтому решение должно быть динамическим c.
Кроме того, предпочтительнее использовать интерфейс OOP, поскольку упоминается в документации .
Примечание - похоже, есть проблемы с текущее предложение при использовании fig.tight_layout()