Python matplotlib.dates.AutoDateLocator() Examples
The following are 28
code examples of matplotlib.dates.AutoDateLocator().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
matplotlib.dates
, or try the search function
.
Example #1
Source File: _converter.py From elasticintel with GNU General Public License v3.0 | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #2
Source File: report.py From simglucose with MIT License | 6 votes |
def ensemblePlot(df): df_BG = df.unstack(level=0).BG df_CGM = df.unstack(level=0).CGM df_CHO = df.unstack(level=0).CHO fig = plt.figure() ax1 = fig.add_subplot(311) ax2 = fig.add_subplot(312) ax3 = fig.add_subplot(313) ax1 = ensemble_BG(df_BG, ax=ax1, plot_var=True, nstd=1) ax2 = ensemble_BG(df_CGM, ax=ax2, plot_var=True, nstd=1) # t = df_CHO.index.to_pydatetime() t = pd.to_datetime(df_CHO.index) ax3.plot(t, df_CHO) ax1.tick_params(labelbottom=False) ax2.tick_params(labelbottom=False) ax3.xaxis.set_minor_locator(mdates.AutoDateLocator()) ax3.xaxis.set_minor_formatter(mdates.DateFormatter('%H:%M\n')) ax3.xaxis.set_major_locator(mdates.DayLocator()) ax3.xaxis.set_major_formatter(mdates.DateFormatter('\n%b %d')) ax3.set_xlim([t[0], t[-1]]) ax1.set_ylabel('Blood Glucose (mg/dl)') ax2.set_ylabel('CGM (mg/dl)') ax3.set_ylabel('CHO (g)') return fig, ax1, ax2, ax3
Example #3
Source File: rendering.py From simglucose with MIT License | 6 votes |
def adjust_xlim(ax, timemax, xlabel=False): xlim = mdates.num2date(ax.get_xlim()) update = False # remove timezone awareness to make them comparable timemax = timemax.replace(tzinfo=None) xlim[0] = xlim[0].replace(tzinfo=None) xlim[1] = xlim[1].replace(tzinfo=None) if timemax > xlim[1] - timedelta(minutes=30): xmax = xlim[1] + timedelta(hours=6) update = True if update: ax.set_xlim([xlim[0], xmax]) for spine in ax.spines.values(): ax.draw_artist(spine) ax.draw_artist(ax.xaxis) if xlabel: ax.xaxis.set_minor_locator(mdates.AutoDateLocator()) ax.xaxis.set_minor_formatter(mdates.DateFormatter('%H:%M\n')) ax.xaxis.set_major_locator(mdates.DayLocator()) ax.xaxis.set_major_formatter(mdates.DateFormatter('\n%b %d'))
Example #4
Source File: EpochConverter.py From twitter-stock-recommendation with MIT License | 6 votes |
def axisinfo( unit, axis ): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter( majloc ) return units.AxisInfo( majloc = majloc, majfmt = majfmt, label = unit ) #------------------------------------------------------------------------
Example #5
Source File: EpochConverter.py From CogAlg with MIT License | 6 votes |
def axisinfo(unit, axis): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter(majloc) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label=unit)
Example #6
Source File: dates.py From CogAlg with MIT License | 6 votes |
def axisinfo(self, unit, axis): """ Return the :class:`~matplotlib.units.AxisInfo` for *unit*. *unit* is a tzinfo instance or None. The *axis* argument is required but not used. """ tz = unit majloc = AutoDateLocator(tz=tz) majfmt = ConciseDateFormatter(majloc, tz=tz, formats=self._formats, zero_formats=self._zero_formats, offset_formats=self._offset_formats, show_offset=self._show_offset) datemin = datetime.date(2000, 1, 1) datemax = datetime.date(2010, 1, 1) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label='', default_limits=(datemin, datemax))
Example #7
Source File: dates.py From CogAlg with MIT License | 6 votes |
def axisinfo(unit, axis): """ Return the :class:`~matplotlib.units.AxisInfo` for *unit*. *unit* is a tzinfo instance or None. The *axis* argument is required but not used. """ tz = unit majloc = AutoDateLocator(tz=tz) majfmt = AutoDateFormatter(majloc, tz=tz) datemin = datetime.date(2000, 1, 1) datemax = datetime.date(2010, 1, 1) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label='', default_limits=(datemin, datemax))
Example #8
Source File: _converter.py From coffeegrindsize with MIT License | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' _check_implicitly_registered() delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #9
Source File: EpochConverter.py From coffeegrindsize with MIT License | 6 votes |
def axisinfo(unit, axis): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter(majloc) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label=unit) # -----------------------------------------------------------------------
Example #10
Source File: test_dates.py From coffeegrindsize with MIT License | 6 votes |
def test_yearlocator_pytz(): import pytz tz = pytz.timezone('America/New_York') x = [tz.localize(datetime.datetime(2010, 1, 1)) + datetime.timedelta(i) for i in range(2000)] locator = mdates.AutoDateLocator(interval_multiples=True, tz=tz) locator.create_dummy_axis() locator.set_view_interval(mdates.date2num(x[0])-1.0, mdates.date2num(x[-1])+1.0) np.testing.assert_allclose([733408.208333, 733773.208333, 734138.208333, 734503.208333, 734869.208333, 735234.208333, 735599.208333], locator()) expected = ['2009-01-01 00:00:00-05:00', '2010-01-01 00:00:00-05:00', '2011-01-01 00:00:00-05:00', '2012-01-01 00:00:00-05:00', '2013-01-01 00:00:00-05:00', '2014-01-01 00:00:00-05:00', '2015-01-01 00:00:00-05:00'] st = list(map(str, mdates.num2date(locator(), tz=tz))) assert st == expected
Example #11
Source File: _converter.py From twitter-stock-recommendation with MIT License | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' _check_implicitly_registered() delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #12
Source File: _converter.py From Splunking-Crime with GNU Affero General Public License v3.0 | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' _check_implicitly_registered() delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #13
Source File: _converter.py From predictive-maintenance-using-machine-learning with Apache License 2.0 | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' _check_implicitly_registered() delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #14
Source File: EpochConverter.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 6 votes |
def axisinfo(unit, axis): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter(majloc) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label=unit) # -----------------------------------------------------------------------
Example #15
Source File: test_dates.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_yearlocator_pytz(): import pytz tz = pytz.timezone('America/New_York') x = [tz.localize(datetime.datetime(2010, 1, 1)) + datetime.timedelta(i) for i in range(2000)] locator = mdates.AutoDateLocator(interval_multiples=True, tz=tz) locator.create_dummy_axis() locator.set_view_interval(mdates.date2num(x[0])-1.0, mdates.date2num(x[-1])+1.0) np.testing.assert_allclose([733408.208333, 733773.208333, 734138.208333, 734503.208333, 734869.208333, 735234.208333, 735599.208333], locator()) expected = ['2009-01-01 00:00:00-05:00', '2010-01-01 00:00:00-05:00', '2011-01-01 00:00:00-05:00', '2012-01-01 00:00:00-05:00', '2013-01-01 00:00:00-05:00', '2014-01-01 00:00:00-05:00', '2015-01-01 00:00:00-05:00'] st = list(map(str, mdates.num2date(locator(), tz=tz))) assert st == expected
Example #16
Source File: EpochConverter.py From GraphicDesignPatternByPython with MIT License | 6 votes |
def axisinfo(unit, axis): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter(majloc) return units.AxisInfo(majloc=majloc, majfmt=majfmt, label=unit) # -----------------------------------------------------------------------
Example #17
Source File: EpochConverter.py From neural-network-animation with MIT License | 6 votes |
def axisinfo( unit, axis ): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter( majloc ) return units.AxisInfo( majloc = majloc, majfmt = majfmt, label = unit ) #------------------------------------------------------------------------
Example #18
Source File: EpochConverter.py From matplotlib-4-abaqus with MIT License | 6 votes |
def axisinfo( unit, axis ): """: Returns information on how to handle an axis that has Epoch data. = INPUT VARIABLES - unit The units to use for a axis with Epoch data. = RETURN VALUE - Returns a matplotlib AxisInfo data structure that contains minor/major formatters, major/minor locators, and default label information. """ majloc = date_ticker.AutoDateLocator() majfmt = date_ticker.AutoDateFormatter( majloc ) return units.AxisInfo( majloc = majloc, majfmt = majfmt, label = unit ) #------------------------------------------------------------------------
Example #19
Source File: converter.py From Computable with MIT License | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' delta = relativedelta(dmax, dmin) num_days = ((delta.years * 12.0) + delta.months * 31.0) + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #20
Source File: _converter.py From vnpy_crypto with MIT License | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' _check_implicitly_registered() delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #21
Source File: _converter.py From recruit with Apache License 2.0 | 6 votes |
def get_locator(self, dmin, dmax): 'Pick the best locator based on a distance.' _check_implicitly_registered() delta = relativedelta(dmax, dmin) num_days = (delta.years * 12.0 + delta.months) * 31.0 + delta.days num_sec = (delta.hours * 60.0 + delta.minutes) * 60.0 + delta.seconds tot_sec = num_days * 86400. + num_sec if abs(tot_sec) < self.minticks: self._freq = -1 locator = MilliSecondLocator(self.tz) locator.set_axis(self.axis) locator.set_view_interval(*self.axis.get_view_interval()) locator.set_data_interval(*self.axis.get_data_interval()) return locator return dates.AutoDateLocator.get_locator(self, dmin, dmax)
Example #22
Source File: graphs.py From king-phisher with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _load_graph(self, info_cache): # define the necessary colors color_bg = self.get_color('bg', ColorHexCode.WHITE) color_fg = self.get_color('fg', ColorHexCode.BLACK) color_line_bg = self.get_color('line_bg', ColorHexCode.WHITE) color_line_fg = self.get_color('line_fg', ColorHexCode.BLACK) visits = info_cache['visits']['edges'] first_seen_timestamps = [utilities.datetime_utc_to_local(visit['node']['firstSeen']) for visit in visits] ax = self.axes[0] ax.tick_params( axis='both', which='both', colors=color_fg, top=False, bottom=False ) ax.set_facecolor(color_line_bg) ax.set_ylabel('Number of Visits', color=self.get_color('fg', ColorHexCode.WHITE), size=10) self._ax_hide_ticks(ax) self._ax_set_spine_color(ax, color_bg) if not len(first_seen_timestamps): ax.set_yticks((0,)) ax.set_xticks((0,)) return first_seen_timestamps.sort() ax.plot_date( first_seen_timestamps, range(1, len(first_seen_timestamps) + 1), '-', color=color_line_fg, linewidth=6 ) self.figure.autofmt_xdate() self.figure.subplots_adjust(top=0.85, right=0.95, bottom=0.25, left=0.1) locator = dates.AutoDateLocator() ax.xaxis.set_major_locator(locator) ax.xaxis.set_major_formatter(dates.AutoDateFormatter(locator)) return
Example #23
Source File: FranchiseAnimation.py From FranchiseRevenueComparison with MIT License | 5 votes |
def set_x_axis_locator(self, x_from, x_to): x_axis_range = x_to - x_from years = mdates.YearLocator() if x_axis_range < 200: self.ax.xaxis.set_major_locator(mdates.MonthLocator()) self.ax.xaxis.set_major_formatter(mdates.DateFormatter('%b-%Y')) # self.ax.xaxis.set_major_locator(mdates.AutoDateLocator()) elif x_axis_range < 7*365: self.ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y')) self.ax.xaxis.set_major_locator(years) self.ax.xaxis.set_minor_locator(mdates.MonthLocator()) else: self.ax.xaxis.set_major_locator(years) self.ax.xaxis.set_major_locator(mdates.AutoDateLocator())
Example #24
Source File: animation_funcs.py From FranchiseRevenueComparison with MIT License | 5 votes |
def set_x_axis_locator(ax, x_from, x_to): x_axis_range = x_to - x_from if x_axis_range < 300: ax.xaxis.set_major_locator(mdates.MonthLocator()) ax.xaxis.set_major_formatter(mdates.DateFormatter('%b-%Y')) elif x_axis_range < 4*365: ax.xaxis.set_major_locator(years) ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y')) else: ax.xaxis.set_major_locator(mdates.AutoDateLocator()) return ax
Example #25
Source File: plotting.py From japandas with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _make_plot(self): try: from pandas.plotting._timeseries import (_decorate_axes, format_dateaxis) except ImportError: from pandas.tseries.plotting import _decorate_axes, format_dateaxis plotf = self._get_plot_function() ax = self._get_ax(0) data = self.data data.index.name = 'Date' data = data.to_period(freq=self.freq) index = data.index data = data.reset_index(level=0) if self._is_ts_plot(): data['Date'] = data['Date'].apply(lambda x: x.ordinal) _decorate_axes(ax, self.freq, self.kwds) candles = plotf(data, ax, **self.kwds) format_dateaxis(ax, self.freq, index) else: from matplotlib.dates import date2num, AutoDateFormatter, AutoDateLocator data['Date'] = data['Date'].apply(lambda x: date2num(x.to_timestamp())) candles = plotf(data, ax, **self.kwds) locator = AutoDateLocator() ax.xaxis.set_major_locator(locator) ax.xaxis.set_major_formatter(AutoDateFormatter(locator)) return candles
Example #26
Source File: rendering.py From simglucose with MIT License | 4 votes |
def initialize(self): plt.ion() fig, axes = plt.subplots(4) axes[0].set_ylabel('BG (mg/dL)') axes[1].set_ylabel('CHO (g/min)') axes[2].set_ylabel('Insulin (U/min)') axes[3].set_ylabel('Risk Index') lineBG, = axes[0].plot([], [], label='BG') lineCGM, = axes[0].plot([], [], label='CGM') lineCHO, = axes[1].plot([], [], label='CHO') lineIns, = axes[2].plot([], [], label='Insulin') lineLBGI, = axes[3].plot([], [], label='Hypo Risk') lineHBGI, = axes[3].plot([], [], label='Hyper Risk') lineRI, = axes[3].plot([], [], label='Risk Index') lines = [lineBG, lineCGM, lineCHO, lineIns, lineLBGI, lineHBGI, lineRI] axes[0].set_ylim([70, 180]) axes[1].set_ylim([-5, 30]) axes[2].set_ylim([-0.5, 1]) axes[3].set_ylim([0, 5]) for ax in axes: ax.set_xlim( [self.start_time, self.start_time + timedelta(hours=3)]) ax.legend() # Plot zone patches axes[0].axhspan(70, 180, alpha=0.3, color='limegreen', lw=0) axes[0].axhspan(50, 70, alpha=0.3, color='red', lw=0) axes[0].axhspan(0, 50, alpha=0.3, color='darkred', lw=0) axes[0].axhspan(180, 250, alpha=0.3, color='red', lw=0) axes[0].axhspan(250, 1000, alpha=0.3, color='darkred', lw=0) axes[0].tick_params(labelbottom=False) axes[1].tick_params(labelbottom=False) axes[2].tick_params(labelbottom=False) axes[3].xaxis.set_minor_locator(mdates.AutoDateLocator()) axes[3].xaxis.set_minor_formatter(mdates.DateFormatter('%H:%M\n')) axes[3].xaxis.set_major_locator(mdates.DayLocator()) axes[3].xaxis.set_major_formatter(mdates.DateFormatter('\n%b %d')) axes[0].set_title(self.patient_name) return fig, axes, lines
Example #27
Source File: myplot.py From PythonDBAGraphs with GNU General Public License v3.0 | 4 votes |
def line_2subplots(): """ Creates a split plot with one set of x axis labels and two subplots. """ # Save data to redraw plot later save_data('line_2subplots') # set the screen title, size, density fig = plt.figure(title,graph_dimensions,graph_dpi) # do the plot # top half of the graph plot_number 1 nrows = 2 ncols = 1 plot_number = 1 ax = plt.subplot(nrows,ncols,plot_number) plt.title(title) plt.ylabel(ylabel1) plt.grid(which="major") red = 'r' plt.plot(xdatetimes,ylists[0],red) plt.autoscale(tight=True) fig.autofmt_xdate() ax.fmt_xdata = mdates.DateFormatter('%m/%d/%Y %H:%M') datetimefmt = mdates.DateFormatter('') ax.xaxis.set_major_formatter(datetimefmt) # bottom half of the graph plot_number 2 plot_number = 2 ax = plt.subplot(nrows,ncols,plot_number) plt.ylabel(ylabel2) plt.grid(which="major") green='g' plt.plot(xdatetimes,ylists[1],green) plt.autoscale(tight=True) fig.autofmt_xdate() ax.fmt_xdata = mdates.DateFormatter('%m/%d/%Y %H:%M') loc=mdates.AutoDateLocator() datetimefmt = mdates.AutoDateFormatter(loc) ax.xaxis.set_major_formatter(datetimefmt) ax.xaxis.set_major_locator(loc) # subplots_adjust settings vleft = 0.07 # the left side of the subplots of the figure vright = 0.97 # the right side of the subplots of the figure # vbottom = 0.15 # the bottom of the subplots of the figure vbottom = 0.10 # the bottom of the subplots of the figure vtop = 0.95 # the top of the subplots of the figure vwspace = 0.0 # the amount of width reserved for blank space between subplots vhspace = 0.08 # the amount of height reserved for white space between subplots plt.subplots_adjust(left=vleft,right=vright,bottom=vbottom,top=vtop,wspace=vwspace,hspace=vhspace) fileorscreen(title+'.png') return
Example #28
Source File: myplot.py From PythonDBAGraphs with GNU General Public License v3.0 | 4 votes |
def line(): """ Creates a single graph with date and time as the x axis and a variable number of plots. """ # Save data to redraw plot later save_data('line') # set the screen title, size, density fig = plt.figure(title,graph_dimensions,graph_dpi) # do the plot plt.title(title) plt.ylabel(ylabel1) plt.grid(which="major") for plot_num in range(len(ylists)): plt.plot(xdatetimes,ylists[plot_num],color=my_colors(plot_num)) # date time formatting ax = fig.axes[0] fig.autofmt_xdate() ax.fmt_xdata = mdates.DateFormatter('%m/%d/%Y %H:%M') loc=mdates.AutoDateLocator() datetimefmt = mdates.AutoDateFormatter(loc) ax.xaxis.set_major_formatter(datetimefmt) ax.xaxis.set_major_locator(loc) # other formatting plt.legend(ylistlabels,loc='upper left') plt.autoscale(tight=True) # subplots_adjust settings - single plot so zero space between plots vleft = 0.06 # the left side of the subplots of the figure vright = 0.97 # the right side of the subplots of the figure vbottom = 0.12 # the bottom of the subplots of the figure vtop = 0.95 # the top of the subplots of the figure vwspace = 0.0 # the amount of width reserved for blank space between subplots vhspace = 0.0 # the amount of height reserved for white space between subplots plt.subplots_adjust(left=vleft,right=vright,bottom=vbottom,top=vtop,wspace=vwspace,hspace=vhspace) fileorscreen(title+'.png') return