次要情节3图表在一张图中

2024-06-16 11:43:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我对最后一个小插曲有问题。最后一个交叉表图会自动出现,然后子图有前两个子图,但第三个子图是空的,不包含任何数据。我怎样才能把它画成一个图形,所有的3个图形都在一个图形中,它们共享同一个Y轴或“频率”

import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
from patsy import dmatrices
from sklearn.linear_model import LogisticRegression
from sklearn.cross_validation import train_test_split
from sklearn import metrics
from sklearn.cross_validation import cross_val_score

#Data Exploration
data = sm.datasets.fair.load_pandas().data
data['affair'] = np.where(data['affairs'] > 0 , 1,0)
print(data)
print(data.groupby('affair').mean())
print(data.groupby('rate_marriage').mean())

plt.subplot(331)
data['educ'].hist()
plt.title('Histogram of Education')
plt.xlabel('Education Level')
plt.ylabel('Frequency')
plt.subplot(332)
data['rate_marriage'].hist()
plt.title('Histogram of Marriage Rating')
plt.xlabel('Marriage Rating')
plt.ylabel('Frequency')
plt.subplot(333)
pd.crosstab(data['rate_marriage'], data['affair'].astype(bool)).plot(kind='bar')
plt.title('Marriage Rating distribution by affair Status')
plt.xlabel('Marriage Rating')
plt.ylabel('Frequency')
plt.show()

This is the subplot with the blank data

This is what should be in the subplot


Tags: fromimport图形datarateaspltsklearn
1条回答
网友
1楼 · 发布于 2024-06-16 11:43:16

您需要告诉pandas plotting函数在哪里绘制数据。 这可以通过ax关键字来实现。在

ax= plt.subplot(333)
pd.crosstab(data['rate_marriage'], data['affair'].astype(bool)).plot(kind='bar', ax=ax)

相关问题 更多 >