Не понимаю, почему ширина бара matplotlib не постоянна - PullRequest
0 голосов
/ 15 марта 2020

Привет, я думаю, что было много сообщений об этом. Но я не могу понять, что происходит. Основываясь на других вопросах переполнения стека, я предполагаю, что причина, по которой ширина моего барплота не является постоянной, связана с «нелинейной осью?»

Я действительно не понимаю, почему это вызывает мой 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, гистограмма невероятно уродлива

enter image description here

Почему с шириной 1-го бара все в порядке, а остальные такие толстые? Как я могу исправить это так, чтобы все ширины были одинаковыми?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...