Python matplotlib子批次-颜色是可选的
我这里有一个代码,可以打印不同的子图。但是,第二个子批次的颜色总是交替的。如何修复此问题,使所有颜色一致Python matplotlib子批次-颜色是可选的,python,pandas,matplotlib,seaborn,Python,Pandas,Matplotlib,Seaborn,我这里有一个代码,可以打印不同的子图。但是,第二个子批次的颜色总是交替的。如何修复此问题,使所有颜色一致 我猜您的hrdata2016恰好第一行为“非活动”,而您的hrdata2015和hrdata2017都有第一行为“活动”。由于没有定义色调(颜色)顺序,因此使用了数据帧中的顺序。通过如下参数定义色调(颜色)顺序: import matplotlib.pyplot as plt import pandas as pd import seaborn as sns df1 = pd.DataF
我猜您的
hrdata2016
恰好第一行为“非活动”,而您的hrdata2015
和hrdata2017
都有第一行为“活动”。由于没有定义色调(颜色)顺序,因此使用了数据帧中的顺序。通过如下参数定义色调(颜色)顺序:
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
df1 = pd.DataFrame([['F', 'Active'],
['M', 'Inactive'],
['F', 'Inactive'],
['M', 'Active'],
['F', 'Inactive'],
['M', 'Inactive'],
['F', 'Active']], columns=['Sex', 'HR Status'])
df2 = df1.drop(0)
df3 = df2.drop(1)
hrlist = [df1, df2, df3]
h = 'Sex'
for i in range(len(hrlist)):
plt.subplot(2,2,i+1)
# ax1 = sns.countplot(data=hrlist[i], x=h, hue="HR Status", order=hrlist[i][h].value_counts().index)
ax1 = sns.countplot(data=hrlist[i], x=h, hue="HR Status",
order=hrlist[i][h].value_counts().index,
hue_order=hrlist[i]["HR Status"].value_counts().index)
plt.show()
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
df1 = pd.DataFrame([['F', 'Active'],
['M', 'Inactive'],
['F', 'Inactive'],
['M', 'Active'],
['F', 'Inactive'],
['M', 'Inactive'],
['F', 'Active']], columns=['Sex', 'HR Status'])
df2 = df1.drop(0)
df3 = df2.drop(1)
hrlist = [df1, df2, df3]
h = 'Sex'
for i in range(len(hrlist)):
plt.subplot(2,2,i+1)
# ax1 = sns.countplot(data=hrlist[i], x=h, hue="HR Status", order=hrlist[i][h].value_counts().index)
ax1 = sns.countplot(data=hrlist[i], x=h, hue="HR Status",
order=hrlist[i][h].value_counts().index,
hue_order=hrlist[i]["HR Status"].value_counts().index)
plt.show()