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í
×
    včera 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

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

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

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

    První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.

    |🇵🇸 | Komentářů: 0
    včera 00:55 | Pozvánky

    Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci

    … více »
    bkralik | Komentářů: 0
    3.8. 17:22 | Zajímavý článek

    Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo

    … více »
    Ladislav Hagara | Komentářů: 24
    3.8. 16:33 | IT novinky

    Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.

    Ladislav Hagara | Komentářů: 1
    3.8. 15:22 | IT novinky Ladislav Hagara | Komentářů: 3
    3.8. 14:22 | Komunita

    Na GitHubu byl publikován seznam 55 kritických bezpečnostních chyb v SQLite s přiřazenými CVE čísly. JFrog Security informuje, že se jedná jenom o AI slop, části kódu na které CVE odkazují, v daných verzích vůbec neexistují. Upozorňuje také, že čísla CVE jsou přiřazována bez ověřování.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2324 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: 1002× | 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.