abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:44 | IT novinky

    Apple bez varování odstranil ze svého obchodu sociální síť VKontaktě i další aplikace skupiny VK, jako je VK Music nebo VK Video [Novinky.cz].

    Ladislav Hagara | Komentářů: 4
    dnes 14:22 | IT novinky

    V dubnu loňského roku představený poštovní klient Notion Mail bude 22. září ukončen.

    Ladislav Hagara | Komentářů: 2
    dnes 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    včera 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 3
    včera 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Zajímavý software

    Vasudeva Kamath představil utilitu debvulns, alternativu k nativní utilitě debsecan, pro výpis zranitelností v Debianu. Navíc má především možnost výstupu ve strukturovaných formátech JSON a CSV. V plánu je exportér pro Prometheus.

    Ladislav Hagara | Komentářů: 0
    24.6. 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 27
    24.6. 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 1995 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Jak na čas a datumy v matplotlib.

    19.5.2009 23:07 | Přečteno: 912× | poslední úprava: 20.5.2009 08:25

    Matplotlib je knihovna umožňující kreslit docela pěkné grafy a to přímo z mého oblíbeného Pythonu. Dnes jsem řešil problém s kreslením grafu, kde jedna osa má být časová — s datumy.

    Matplotlib v modulu pylab obsahuje funkci plot_date(), kterou jsem dříve používal a stačila mi. Tato funkce umí zobrazit ordinální hodnotu data, získanou pomocí date2num() jako krásné, do řetězce formátované datum.

    import pylab as pl
    import datetime as dt
    
    # Připravíme data.
    dates=[dt.date(2007, 5,10),
           dt.date(2008,11,13),
           dt.date(2008,12,11),
           dt.date(2009,5,19)]
    means=pl.randn(len(dates))
    
    # Kreslíme.
    pl.plot_date(pl.date2num(dates), means, "-")
    
    # Hold your hats, it is show time!
    pl.show()
    
    Dnes jsem ovšem potřeboval vyrobit errorbar graf, který má na vodorovné ose data, což asi vylučuje použití plot_date().

    Jak už to bývá, řešením je RTFM, ale tentokrát toho na toto téma v TFM nebylo mnoho napsáno. Ovšem stačilo to a vykouzlil následující kód, který snad všecko vysvětlí sám

    import matplotlib.dates as md
    
    # Příprava dat.
    variances=pl.randn(len(means))
    mean_vars_plot = pl.subplot(1, 1, 1)
    
    # Kreslíme.
    pl.errorbar(pl.date2num(dates), means, variances)
    
    # Tady je to kouzlo -- změníme lokátor ticků na ose
    dl = md.AutoDateLocator()
    mean_vars_plot.xaxis.set_major_locator(dl)
    
    # a změníme formátovač popisků.
    mean_vars_plot.xaxis.set_major_formatter(
              md.AutoDateFormatter(dl) )
    
    # Pochlubíme se výsledkem
    pl.show()
    

    Pokud si ještě trochu pohrajete se zoomem a polohou, výsledný graf může vypadat třeba nějak takhle pěkně: graf

    Nakonec bych rád upozornil, že když jsem měl nastavování xaxis někde před kreslícími příkazy, dostával jsem záhadné výjimky ValueError: ordinal must be >= 1, tak si na to dávejte pozor.

    Update: vyměnil jsem graf za nějaký, který lépe ukazuje data i s měsíci, ale taky to, že mám ještě problém s diakritikou. Matplotlib evidentně používá nějaký neobsáhlý font.

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Jak na čas a datumy v matplotlib., obrázek 1 Jak na čas a datumy v matplotlib., obrázek 2

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Jiří P. avatar 20.5.2009 10:46 Jiří P. | skóre: 24 | blog: programování
    Rozbalit Rozbalit vše Re: Jak na čas a datumy v matplotlib.

    ano-taky už jsem to kdysi řešil - je třeba nastavit jiný font.

    In a world without fences and walls, who needs Gates and Windows?
    23.5.2009 11:33 Jary | skóre: 30 | blog: Jary má blog | Dům
    Rozbalit Rozbalit vše Re: Jak na čas a datumy v matplotlib.

    Ba ne, právě jsem zjistil, že jsem kecal - chyba byla asi v kódování. matplotlib používá, myslím, gtk a to chce zřejmě unicode, kdežto já předával popisky v utf8. Takže použití U"" stringů pomohlo.

    .sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.