Я новичок в matplotlib.И я скопировал код для простого примера pyqt-matplotlib из здесь , и изменил plot()
из class PlotCanvas
, чтобы сделать диаграмму Value-Time.
def plot(self):
dates = mdates.drange(dt.datetime(2010, 1, 1), dt.datetime(2010,1,2),
dt.timedelta(minutes=10))
y_val = [random.random() for i in range(len(dates))]
ax = self.figure.add_subplot(111)
ax.plot(dates, y_val)
use_major_formatter = True
if use_major_formatter:
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d %H:%M'))
else:
ax.fmt_xdata = DateFormatter('%%m-%d %H:%M')
self.figure.autofmt_xdate()
ax.set_title('PyQt Matplotlib Example')
self.draw()
Над кодом требуется следующие импорта:
import matplotlib.dates as mdates
import datetime as dt
from matplotlib.dates import DateFormatter
Я пробовал set_major_formatter()
и fmt_xdata
.И я обнаружил, что fmt_xdata
не работает.
Но почему?В чем разница с set_major_formatter () и fmt_xdata?
Примечание: в приведенном выше коде я добавил оператор if
для проверки двух методов.