Графики в Pandas, plot()

df.plot()

df.plot(title='Any Title')

df.plot(x='col2', y='col1', style='o', xlim=(0, 100), grid=True, figsize=(5, 5))

style='o' (точками)
style='x' (крестиками)
style='o-' (кружками и линиями)

xlim=(min, max)

grid для отображения сетки

figsize для ширины и высоты графика

Еще возможности.

Две гистограммы с помощью метода ax для plot на одной иллюстрации:

ax = df.plot(kind='hist', y='col1', histtype='step', linewidth=4, alpha=0.65, label='old_first')

df_new.plot(kind='hist', y='col1', histtype='step', linewidth=4, alpha=0.65, label='new_second', ax=ax, grid=True, legend=True)

(сохранили оси одной гистограммы в ax и построили вторую на осях первой)

histtype='step' (только линия)

alpha (настройка непрозрачности)

График для среза с df.query().plot():
(df
.query('col == "smth"')
.plot(x='col1', y='col2', ylim=(0, 10), style='o', grid=True, figsize=(5, 7))
)

График для сводной таблицы и среза:
(df
.query('col1 == "smth" and col3 < 15')
.pivot_table(index='col2', values='col3', aggfunc='median')
.plot(grid=True, figsize=(2, 7))
)

Циклы для графиков после группировки по столбцу col2:
for name1, result1 in df.groupby('col2'):
----result1.plot(kind='hist', y='col3', title = name1, bins=10)

Язык и производные: