.. _pylab_examples-date_demo1:

pylab_examples example code: date_demo1.py
==========================================



.. plot:: /media/TOSHI/temp/numpy_scipy_matplotlib/matplotlib/matplotlib-1.1.1~rc2/doc/mpl_examples/pylab_examples/date_demo1.py

::

    #!/usr/bin/env python
    """
    Show how to make date plots in matplotlib using date tick locators and
    formatters.  See major_minor_demo1.py for more information on
    controlling major and minor ticks
    
    All matplotlib date plotting is done by converting date instances into
    days since the 0001-01-01 UTC.  The conversion, tick locating and
    formatting is done behind the scenes so this is most transparent to
    you.  The dates module provides several converter functions date2num
    and num2date
    
    This example requires an active internet connection since it uses
    yahoo finance to get the data for plotting
    """
    
    from pylab import figure, show
    from matplotlib.finance import quotes_historical_yahoo
    from matplotlib.dates import YearLocator, MonthLocator, DateFormatter
    import datetime
    date1 = datetime.date( 1995, 1, 1 )
    date2 = datetime.date( 2004, 4, 12 )
    
    years    = YearLocator()   # every year
    months   = MonthLocator()  # every month
    yearsFmt = DateFormatter('%Y')
    
    quotes = quotes_historical_yahoo(
        'INTC', date1, date2)
    if len(quotes) == 0:
        raise SystemExit
    
    dates = [q[0] for q in quotes]
    opens = [q[1] for q in quotes]
    
    fig = figure()
    ax = fig.add_subplot(111)
    ax.plot_date(dates, opens, '-')
    
    # format the ticks
    ax.xaxis.set_major_locator(years)
    ax.xaxis.set_major_formatter(yearsFmt)
    ax.xaxis.set_minor_locator(months)
    ax.autoscale_view()
    
    # format the coords message box
    def price(x): return '$%1.2f'%x
    ax.fmt_xdata = DateFormatter('%Y-%m-%d')
    ax.fmt_ydata = price
    ax.grid(True)
    
    fig.autofmt_xdate()
    show()
    

Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)