Здравствуйте, просто чтобы дать вам дальнейшие указания,
Относительно текстового поля
текстовое поле выглядит так, как будто оно содержит сводную статистику DataFrame.describe()
+ несколько дополнительных. Вы можете создать текстовое поле, используя комбинацию .text()
и .subplot()
Я обнаружил, это руководство очень полезно для создания текстового поля на графике
Поскольку у нас нет данных здесь псевдокод :
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
textstr = str(up_to_2019['value'].describe())
ax.hist(up_to_2019['value'], bins = order)
# these are matplotlib.patch.Patch properties
props = dict(boxstyle='round', facecolor='wheat', alpha=0.5)
# place a text box in upper left in axes coords
ax.text(0.05, 0.95, textstr, transform=ax.transAxes, fontsize=10,
verticalalignment='top', bbox=props)
plt.show()
Относительно оси Y:
1) Вот как вы устанавливаете правая метка: plt.ylabel("Number of Observations\n(Probability in%)")
2) Чем добавить метки plt.yticks(np.arange(1,27))
Относительно меток внутри ящиков
Это довольно сложно, один вариант, хотя определенно не рекомендуется будет также включать метки с помощью метода .text()
. Я не знаю, поможет ли это, но здесь - то, как вы делаете это в R.
Также могут быть полезны эти две ссылки:
Видимо вызов plt.hist()
имеет три возвращаемых значения, одно из которых называется патчами. Вы можете перебирать патчи и изменять их цвет (см. Ссылку выше), однако я не мог понять, как добавить к ним текст.
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
x = [21,22,23,4,5,6,77,8,9,10,31,32,33,34,35,36,37,18,49,50,100]
num_bins = 5
n, bins, patches = plt.hist(x, num_bins, facecolor='blue', alpha=0.5)
for i,pat in enumerate(patches):
pat.set_test("Test") #this doesnt work sadly