Бок о бок участки в матплотлиб - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть следующие 2 df s, которые являются экспоненциальным и пуассоновским графиком

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

mean = 2
step = 0.5
df1 = pd.DataFrame()
df1['A'] = pd.Series(abs(np.random.exponential(step, 400)))
df2 = pd.DataFrame()
df2['B'] = pd.Series(abs(np.random.poisson(mean, 400)))

df1_summ = df1_summary[['A']].groupby(['A']).size().reset_index(name='counts')
df1_summ = df1_summ.sort_values(['counts'], ascending=True)
df2_summ = df2[['B']].groupby(['B']).size().reset_index(name='counts')

В блокноте Jupyter я надеюсь построить их рядом.Однако следующий код не позволяет этого.Как мне это исправить?

plt.figure(1)
plt.subplot(221)
df1_summ.plot.bar(x='A', y='counts', figsize=(5, 4), title='Exponential Plot')

plt.figure(2)
plt.subplot(222)
df2_summ.plot.bar(x='B', y='counts', figsize=(5, 4), title='Poisson Plot')

plt.show()

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Как альтернатива.

fig = plt.figure()
fig.set_figheight(20) # optional setting the height of the image
fig.set_figwidth(20) # optional setting the width of the image

a = fig.add_subplot(1,2,1)
df1_summ.plot.bar(x='A', y='counts')
a.set_title=('Exponential Plot')
plt.axis('off') # removes plots on axis

a = fig.add_subplot(1,2,2)
df2_summ.plot.bar(x='B', y='counts')
a.set_title=('Poisson Plot')
plt.axis('off') #romoves plots on axis
0 голосов
/ 25 апреля 2018

Вам нужно создать только одну фигуру, затем создать вспомогательные участки и передать их в качестве аргументов функции построения графиков:

plt.figure(1)
ax1 = plt.subplot(221)
df1_summ.plot.bar(x='A', y='counts', ax=ax1, figsize=(5, 4), title='Exponential Plot')

ax2 = plt.subplot(222)
df2_summ.plot.bar(x='B', y='counts', ax=ax2, figsize=(5, 4), title='Poisson Plot')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...