Próbuję utworzyć histogram kolumny danych i wykreślić go logarytmicznie (y-axis
) i nie jestem pewien, dlaczego następujący kod nie działa:logarytmiczne kosze na osi y w Pythonie
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('foo.bar')
fig = plt.figure()
ax = fig.add_subplot(111)
plt.hist(data, bins=(23.0, 23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0))
ax.set_xlim(23.5, 28)
ax.set_ylim(0, 30)
ax.grid(True)
plt.yscale('log')
plt.show()
Próbowałem również zamiast plt.yscale('log')
dodając Log=true
w linii plt.hist
, a także próbowałem ax.set_yscale('log')
, ale nic nie działa. Albo dostaję pustą działkę, albo y-axis
jest rzeczywiście logarytmiczna (z kodem jak pokazano powyżej), ale nie ma danych naniesionych na wykres (bez skrzynek).
możliwe duplikat [Python Pyplot Bar Działka barów disapear podczas korzystania z dziennika skala] (http://stackoverflow.com/questions/14047068/python-pyplot-bar-plot-bars-disapear-when-using-log-scale) – tacaswell
powiązany problem, inne rozwiązanie – tacaswell