1

我正在绘制一个计数图和一个饼图,但是“男性”和“女性”在它们中的每一个都被标记为相反的颜色

import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(1,figsize=(20,5))
sns.countplot(x="sex",data=insurance_ds) #plotting histogram
plt.title("Male/Female Frequency",fontsize=25)
plt.xlabel("Sex",fontsize=20)
plt.ylabel("Frequency",fontsize=20)
plt.tick_params(labelsize=12)
plt.xticks(rotation=90)
plt.yticks(rotation=45)
fig, ax = plt.subplots(1,figsize=(5,5))
insurance_ds["sex"].value_counts().plot.pie(autopct='%1.1f%%',shadow=True,textprops={'fontsize': 10}) 
plt.title("Male/Female Frequency",fontsize=25)

情节

4

1 回答 1

0

如果您将列设置为类别,它也应该可以工作:

import matplotlib.pyplot as plt
import seaborn as sns

insurance_ds = pd.DataFrame({'sex':np.random.choice(['male','female'],1000)})
insurance_ds['sex'] = pd.Categorical(insurance_ds['sex'],categories=['male','female'])
fig, ax = plt.subplots(1,2,figsize=(10,5))
sns.countplot(x="sex",data=insurance_ds,ax=ax[0]) 
insurance_ds["sex"].value_counts().plot.pie(autopct='%1.1f%%',shadow=True,textprops={'fontsize': 10},ax=ax[1]) 

在此处输入图像描述

于 2020-12-01T09:45:56.000 回答