Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).
Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.
Vývojář Spytihněv, autor počítačové hry Hrot (Wikipedie, ProtonDB), pracuje na nové hře Brno Transit. Jedná se o příběhový psychologický horor o strojvedoucím v zácviku, uvězněném v nejzatuchlejším metru východně od všeho, na čem záleží. Vydání je plánováno na čtvrté čtvrtletí letošního roku.
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
errorbargraf, 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ě:
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.
Tiskni
Sdílej:
ano-taky už jsem to kdysi řešil - je třeba nastavit jiný font.
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.