График построения графика на том же рисунке с использованием matplotlib [duplicate]

Вы можете использовать собственную команду «выполнить» Lua.

Пример:

  os.execute ("c: \\ temp \\ program.exe") [  ! d1] 

Источники: Руководство Lua / os.execute

53
задан Andy Hayden 14 December 2012 в 12:26
поделиться

4 ответа

Хотя ответ Чанга объясняет, как много раз рисовать на одном рисунке, в этом случае вам может быть лучше в этом случае с помощью groupby и unstack ing:

(Предположим, что у вас есть это в dataframe, с индексом datetime уже)

In [1]: df
Out[1]:
            value  
datetime                         
2010-01-01      1  
2010-02-01      1  
2009-01-01      1  

# create additional month and year columns for convenience
df['Month'] = map(lambda x: x.month, df.index)
df['Year'] = map(lambda x: x.year, df.index)    

In [5]: df.groupby(['Month','Year']).mean().unstack()
Out[5]:
       value      
Year    2009  2010
Month             
1          1     1
2        NaN     1

Теперь легко построить (каждый год как отдельная строка):

df.groupby(['Month','Year']).mean().unstack().plot()
20
ответ дан Andy Hayden 16 August 2018 в 05:34
поделиться

Чтобы сделать это для нескольких фреймов данных, вы можете выполнить цикл for:

fig = plt.figure(num=None, figsize=(10, 8))
ax = dict_of_dfs['FOO'].column.plot()
for BAR in dict_of_dfs.keys():
    if BAR == 'FOO':
        pass
    else:
        dict_of_dfs[BAR].column.plot(ax=ax)
1
ответ дан adivis12 16 August 2018 в 05:34
поделиться

Попробуйте:

ax = df1.plot()
df2.plot(ax=ax)
217
ответ дан Chang She 16 August 2018 в 05:34
поделиться
  • 1
    Вы должны сделать сообщение в блоге об этом. Это очень важный факт для новичков. Спасибо за этот ответ, он избавил меня от большой боли. – Sebastian Wozny 21 November 2015 в 14:46
  • 2
    если это на ноутбуке ipython, как его достичь? есть ли функция удержания или показа, которая печатает график только после установки всех настроек? – Diansheng 16 May 2016 в 08:35
  • 3
    Установите %matplotlib inline, где вы делаете импорт, чтобы ваши визуализации отображались внутри ноутбуков iPython. – Hassan Baig 16 June 2017 в 11:16
  • 4
    Любая подсказка, как это будет работать, - это более 3-х кадров данных? – Ronakh Thaikkat 18 October 2017 в 16:26
  • 5
    Вы уверены, что это работает для любого типа из plot(), а именно, когда любой тип спецификаций передается как аргумент в функцию plot? – gented 13 December 2017 в 16:54

Если у вас работает Jupyter / Ipython ноутбук и проблемы с ним:

ax = df1.plot()

df2.plot(ax=ax)

Выполнить команду внутри того же клетка !! По какой-то причине это не работает, когда они разделяются на последовательные ячейки. По крайней мере для меня.

10
ответ дан Hamish Robertson 16 August 2018 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: