un p'tit coup de python ... le retour

Page principale

Répondre à ce message
Auteur: Vincent Kober
Date:  
À: guilde
Sujet: un p'tit coup de python ... le retour
Hello à tous,

J'me casse sûrement la tête pour rien mais j'adore ;-)
si quelqu'un a la soluce pour faire apparaître l'annotation avec la
flêche dans le fichier joint :
    plt.annotate(
        '1er Forum ouvert',
        xy=(0,100), arrowprops=dict(arrowstyle='->'), xytext=(1,200))


Ca marchait avec un axe x en décimal mais ça ne marche plus avec les
dates et je suis vraiment pas un pro du python....

Merci d'avance

Vincent
1417305600 73
1419984000 94
1422662400 184
1425081600 255


import matplotlib.pyplot as plt
import numpy as np
from matplotlib import dates
import datetime

with plt.xkcd():
    # Based on "Stove Ownership" from XKCD by Randall Monroe
    # http://xkcd.com/418/


    fig = plt.figure()
    #ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
    ax = fig.add_subplot(111)


    #ax.spines['right'].set_color('none')
    #ax.spines['top'].set_color('none')



    x,y = np.loadtxt("donnees.txt", unpack=True)
    dd = np.loadtxt("donnees.txt", unpack=True)
    d = dd[:,0]
    #xx = datetime.datetime.strptime(x, "%Y%m%d")


    plt.plot(x,y)


    # convert epoch to matplotlib float format
    s = x
    #ms = x-1000*s  # not needed?
    dts = map(datetime.date.fromtimestamp, s)
    fds = dates.date2num(dts) # converted
    #dtsa = map(datetime.datetime.strptime(fds, "%Y%m%d"))


    #ss = datetime.datetime.strptime(x, '%Y%m%d')



    # matplotlib date format object
    #hfmt = dates.DateFormatter('%Y%m%d')
    labelx = dts


    #x_lims = dates.date2num(dts)
    #ax.set_xlim = x_lims


    #ax.set_xlim(hfmt)
    ax.set_ylim([0, 350])
    plt.yticks([50,100,150,200,250,300,350])



    #ax.xaxis.set_major_locator(dates.MonthLocator())
    #ax.xaxis.set_major_formatter(hfmt)
    #ax.xaxis_date()


    ax.set_ylim(bottom = 0)
    plt.xticks(x, dts)
    #plt.subplots_adjust(bottom=.5)






    #data = np.ones(100)
    #data[70:] -= np.arange(30)


    plt.annotate(
        '1er Forum ouvert',
        xy=(0,100), arrowprops=dict(arrowstyle='->'), xytext=(1,200))


    #plt.plot(data)


    #plt.xlabel(dts[0])
    plt.xlabel('les membres de la liste Alternatiba, mois par mois !')
    plt.ylabel('les forces en marche')
    fig.text(
        0.5, 0.05,
        '"ALTERNATIBA Grenoble, on y va !" par Kokonet',
        ha='center')


    #ax.xaxis_date()


    #date_format = dates.DateFormatter('%Y/%m-%d')


    #ax.xaxis.set_major_formatter(date_format)


    fig.autofmt_xdate()


plt.show()