Я начал свой ноутбук IPython с
ipython notebook --pylab inline
Это мой код в одной ячейке
df['korisnika'].plot()
df['osiguranika'].plot()
Он работает нормально, он рисует две линии, но на одном графике.
Я хотел бы нарисовать каждую линию на отдельном графике. И было бы здорово, если бы графики располагались рядом друг с другом, а не один за другим.
Я знаю, что могу поместить вторую строку в следующую ячейку, и тогда я получу две диаграммы. Но хотелось бы, чтобы графики были близки друг к другу, потому что они представляют одну и ту же логическую единицу.
python
pandas
ipython
ipython-notebook
WebOrCode
источник
источник
savefig.dpi
конфигурацию. Строчные рисунки используют тот же путь savefig, что и записываемые файлы.mpl.rcParams['savefig.dpi'] = 120
. Для отображения dpi есть ключевое слово во многих местах, напримерplt.figure(dpi=120)
, но оно сейчас игнорируется, отсюда и мое неправильное предположение о его исправлении.Вы также можете вызывать функцию show () после каждого графика. например
источник
pyplot.subplots()
это лучший способ.Что-то вроде этого:
import matplotlib.pyplot as plt ... code for plot 1 ... plt.show() ... code for plot 2... plt.show()
Обратите внимание, что это также будет работать, если вы используете
seaborn
пакет для построения графиков:import matplotlib.pyplot as plt import seaborn as sns sns.barplot(... code for plot 1 ...) # plot 1 plt.show() sns.barplot(... code for plot 2 ...) # plot 2 plt.show()
источник
Другой способ, для разнообразия. Хотя это несколько менее гибко, чем другие. К сожалению, графики отображаются один над другим, а не бок о бок, как вы просили в своем исходном вопросе. Но это очень лаконично.
df.plot(subplots=True)
Если во фрейме данных больше двух серий, и вы хотите построить только эти две серии, вам нужно будет заменить их
df
наdf[['korisnika','osiguranika']]
.источник
Не знаю, новая ли это функциональность, но она будет представлена на отдельных рисунках:
df.plot(y='korisnika') df.plot(y='osiguranika')
в то время как это будет строиться на том же рисунке: (точно так же, как код в op)
df.plot(y=['korisnika','osiguranika'])
Я нашел этот вопрос, потому что использовал предыдущий метод и хотел, чтобы они строились на одной и той же фигуре, поэтому ваш вопрос фактически был моим ответом.
источник