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 04:00 | Zajímavý článek

    Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."

    Ladislav Hagara | Komentářů: 5
    dnes 00:22 | Nová verze

    Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.

    Fluttershy, yay! | Komentářů: 5
    včera 12:00 | Nová verze

    Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

    Pavel Křivánek | Komentářů: 2
    včera 04:00 | IT novinky

    Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.

    Ladislav Hagara | Komentářů: 7
    22.5. 21:55 | IT novinky

    1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.

    Ladislav Hagara | Komentářů: 1
    22.5. 21:33 | IT novinky

    8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.

    Ladislav Hagara | Komentářů: 7
    22.5. 13:22 | Upozornění

    Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.

    Ladislav Hagara | Komentářů: 4
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (28%)
     (6%)
     (3%)
     (0%)
     (0%)
     (5%)
    Celkem 98 hlasů
     Komentářů: 6, poslední 22.5. 14:43
    Rozcestník

    Jak na čas a datumy v matplotlib.

    19.5.2009 23:07 | Přečteno: 851× | 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.