Привет, я думаю, что было много сообщений об этом. Но я не могу понять, что происходит. Основываясь на других вопросах переполнения стека, я предполагаю, что причина, по которой ширина моего барплота не является постоянной, связана с «нелинейной осью?»
Я действительно не понимаю, почему это вызывает мой barplot matplotlib ширина не будет одинаковой:
# Initialize Data Frame
df = pd.DataFrame({r'$l$': range(1,4)}, index = range(1, 4))
# Add other stuff
df[r'Frequency (emitted photon) / $\frac{k_B \Theta_R}{h}$'] = (df[r'$l$'] * (df[r'$l$'] + 1) -
(df[r'$l$'] - 2)*(df[r'$l$'] - 1))
df[r'Probabilities $p(l)$'] = (np.exp((-df[r'$l$']/300) * (df[r'$l$'] + 1)) /
(((2*df[r'$l$'] + 1) * np.exp((-df[r'$l$']/300) * (df[r'$l$'] + 1))) +
((2 * df[r'$l$'] - 1) * np.exp(-((df[r'$l$'] - 2)/300) * (df[r'$l$'] - 1)))
))
# Graph Settings
fig, axes = plt.subplots(nrows = 1, ncols = 1, figsize = (16,8))
axes.bar(df[r'Frequency (emitted photon) / $\frac{k_B \Theta_R}{h}$'],
df[r'Probabilities $p(l)$'], label = 'Probability vs Frequency', color = 'red', width = 0.1)
# Graph Settings
axes.set_title('Probabilities against frequency(emitted photon)', fontsize = 20)
axes.xaxis.set_ticks(range(0, 13))
# Display Graph
plt.show()
Несмотря на то, что я установил ширину равной 0,1, гистограмма невероятно уродлива
Почему с шириной 1-го бара все в порядке, а остальные такие толстые? Как я могу исправить это так, чтобы все ширины были одинаковыми?