جنبا إلى جنب المؤامرات في matplotlib

لدي ما يلي 2 df s التي هي مؤامرة أسي و poisson

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()
0

2 إجابة

تحتاج إلى إنشاء رقم واحد فقط ، ثم إنشاء خطوط فرعية وتمريرها كوسيطة للدالة التخطيط:

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')
0
وأضاف
لدي أسئلة التمديد. كيف يمكنني تحديث حجم الرسم البياني في هذه الحالة؟ آسف سأجيب ... باستخدام السمة figsize
وأضاف المؤلف blackbeelabs, مصدر

كبديل .

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
وأضاف