Вы можете передать hue_order
аргумент sns.barplot()
через sns.catplot
, например,
grid = sns.catplot(..., hue_order=['British', 'Romanian', 'Vietnamese',
'Albanian', 'Pakistani', 'Slovak'])
Это должно закрыть промежуток между зелеными и коричневыми столбцами, и они будут центрированы на отметке пометить, как они сейчас в середине списка. Тем не менее, группы других баров все еще не будут сосредоточены вокруг своей отметки.
Это может быть неизбежным следствием того, как работает эта функция построения графика, она не предназначена для таких разреженных данных. Поэтому, если вы хотите, чтобы все различные группы столбцов были центрированы по соответствующим отметкам, вам, возможно, придется использовать более гибкую функцию построения графиков matplotlib и создавать цветовые подмножества вручную.