Графические диаграммы в matplotlib/Pandas

Графики:

matplotlib предлагает функцию bar и barh, чтобы сделать вертикальный и горизонтальный график.

Графики ящиков:

matplotlib также предлагает функцию boxplot, чтобы сделать вертикальные полевые графики.

И Pandas предлагает собственную функцию для вертикальные.

Но есть ли какой-либо путь в matplotlib или Pandas для получения окна горизонтального?

Ответ 1

matplotlib boxplot(..., vert=False) делает горизонтальные диаграммы. Параметр ключевого слова vert=False также можно передать в DataFrame.boxplot:

import matplotlib.pyplot as plt
import pandas as pd
x = [[1.2, 2.3, 3.0, 4.5],
     [1.1, 2.2, 2.9, 5.0]]
df = pd.DataFrame(x, index=['Age of pregnant women', 'Age of pregnant men'])

df.T.boxplot(vert=False)
plt.subplots_adjust(left=0.25)
plt.show()

enter image description here

Из комментария (см. ниже) видно, что мотивация создания горизонтального участка окна заключается в том, что метки довольно длинны. Другим вариантом в этом случае может быть поворот xticklabels:

import matplotlib.pyplot as plt
import pandas as pd
x = [[1.2, 2.3, 3.0, 4.5],
     [1.1, 2.2, 2.9, 5.0]]
df = pd.DataFrame(x, index=['Age of pregnant women', 'Age of pregnant men'])

df.T.boxplot()
plt.subplots_adjust(bottom=0.25)
plt.xticks(rotation=25)
plt.show()

enter image description here

Ответ 2

vert=False stands # for "no vertical"

Используйте by = 'categoryorical_feature name', чтобы создать поле для каждого уровня. Plt.tight_layout() # убивает любые перекрывающиеся графики (не всегда). Matplotlib и Pandas действительно просты, когда вы осваиваете их, и вы можете создавать мощные графики, используя их.