matplotlib畫圖x軸的順序不是固定的,但是我們又想按照自己的想要的順序排序,網上查了很多資料,最后發現,matplotlib的x軸的順序是和數據有關系的,是按照x的值得出現順序排序的,如果是df畫圖,我們呢可以根據某列的值先排序,然后在畫圖,但是如果該列的值是文本型,且排序的順序不是我們想要的,我們可以先按照該列生成一列,具體操作如下:
import matplotlib.pyplot as plt import seaborn as sns julei_data_copy['label_1'] = julei_data_copy.label_tuisuan.map({0:0,3:1,1:2,2:3}) julei_data_copy = julei_data_copy.sort_values(by='label_1') for col,value in col_dict.items(): plt.figure(figsize=(16, 12)) sns.boxplot(data=julei_data_copy, x='label_1', y=col) plt.title(value) plt.xticks([0,1,2,3],['xxx','xxx','xxx','xxx']) f = plt.gcf() f.savefig(r'xxxxx\{}.png'.format(value)) f.clear()
這樣做就可以了