Ширина столбцов на логарифмической шкале

Пишу код для построения barplot на логарифмической шкале. Столкнулся с такой проблемой: визуально, ширина столбцов не выглядит постоянной т.к. расстояние от 9 до 10 меньше чем от 90 до 100, введите сюда описание изображения но ширина столбцов фиксирована. как это обойти?

def plot_err_all_interactive(df, selected_columns):
    
 yeers_to_plot = [col for col in df.columns if 'std' in col]
 plt.figure(figsize=(12, 6))

 log_diameters = np.log10(df['diameter_nm'])

 x_indexes = log_diameters  
    
 bar_width = 0.05  # Ширина столбцов

for i, column_name in enumerate(selected_columns):
    std_col_name = f"{column_name.replace('Mean', 'std')}"
    
    plt.bar(x_indexes + (i - (len(selected_columns) - 1) / 2) * bar_width, 
            df[column_name], 
            width=bar_width, 
            alpha=0.9, 
            label=column_name,
            yerr=df[std_col_name] if std_col_name in df.columns else None)

plt.xlabel('Diameter (nm)', fontsize=14)
plt.ylabel('Mean Value', fontsize=14)
plt.title('Bar Graph of Selected Columns', fontsize=16)
plt.xticks(log_diameters, df['diameter_nm'], rotation=45)
plt.legend()

plt.xscale('log')
plt.tight_layout()
plt.show()

Ответы (0 шт):