Extension:Chart
![]() Stav rozšíření: stabilní |
|
---|---|
![]() |
|
Implementace | Značka |
Popis | Vykresluje grafy |
Autoři | Brooke Vibber, Katie Filbert, Roan Kattouw |
Zásady kompatibility | Větev master zachovává zpětnou kompatibilitu. |
MediaWiki | >= 1.45 |
Změny v databázi | Ne |
Licence | GNU General Public License 3.0 nebo novější |
Stáhnout | README |
|
|
Přeložte rozšíření Chart, používá-li lokalizaci z translatewiki.net | |
Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření Chart poskytuje základní interaktivní funkce vizualizace dat, které mají nahradit některé, ale ne všechny aspekty rozšíření Graph . Toto rozšíření pro wikiny Wikimedie je v současné době ve vývoji. Další podrobnosti o procesu vývoje naleznete v části Extension:Chart/Project .
Toto rozšíření podporuje následující typy grafů:
Instalace
Rozšíření Chart vyžaduje nainstalované rozšíření JsonConfig a také stažení knihovny JavaScript (ve skutečnosti TypeScript) Chart Renderer.
Úplné pokyny k nastavení naleznete v souboru README.md v úložišti.
Pro použití v produkčních systémech Wikimedie viz obecné pokyny k nasazení služeb v sekci wikitech:Kubernetes/Deployments.
Jak používat
Chcete-li vykreslit graf, musíte definovat definici grafu, která bude přiřazena ke zdroji dat, který chcete vykreslit. Definice grafu je strukturována jako relativně jednoduchý soubor JSON. Podrobnosti syntaxe viz Extension:Chart/Specification .
Všechny grafy v tomto příkladu lze vykreslit ze stejného zdroje dat: Data:Chart Example Data.tab, fiktivní datová sada. Ukázkový obsah těchto stránek lze nalézt v adresáři sample.
{
"license": "CC0-1.0",
"version": 1,
"source": "Chart Example Data.tab",
"type": "line",
"title": {
"en": "Example Chart Title"
},
"subtitle": {
"en": "Example Subtitle"
},"xAxis": {
"title": {
"en": "Example X Axis Title"
},
"format": "none"
},
"yAxis": {
"title": {
"en": "Example Y Axis Title"
},
"format": "none"
},
"mediawikiCategories": [
{
"name": "Example category",
"sort": "Its sortkey"
}
],
"transform": {
"module": "Optional lua module for data transforms",
"function": "transform_func",
"args": {
"arg_name": "arg_value"
}
}
}
Jakmile je graf definován, můžete jej snadno vykreslit pomocí funkce #chart parser. V tomto případě jsou data grafu definována v Data:Chart Example Data.tab a samotný graf je definován v Data:Example.Line.chart:
{{#chart:Example.Line.chart}}
Všimněte si, že graf může být obecný a znovu použit s různými zdroji dat, například takto:
{{#chart:Population through years.chart
|data=Population of USA.tab
}}
{{#chart:Population through years.chart
|data=Population of UK.tab
}}
{{#chart:Population through years.chart
|data=Population of Poland.tab
}}
Přizpůsobení
Přizpůsobení grafů je v současné době omezené. Doufáme, že po testování, diskusi a vyhodnocení bude možné nalézt řešení pro přizpůsobení, která neohrozí přístupnost, vykreslování specifické pro dané zařízení ani bezpečnost.
Velikost
V současné době grafy zabírají celou šířku kontejneru, kam je umístíte.
Konečným cílem je zajistit, aby grafy bylo možné čitelně vykreslit bez ohledu na to, na jakém zařízení jsou čteny. Více informací najdete na stránce T376845.
Námět
V současné době jsou grafy omezeny na jednu výchozí barevnou paletu. Tato paleta byla pečlivě navržena s ohledem na přístupnost. Myšlenky, které stojí za těmito barevnými volbami, lze prozkoumat v článku T369863.
Některé grafy vyžadují specifická barevná témata, například pro znázornění dat týkajících se politických stran. Zůstává otevřenou otázkou, jak nejlépe podporovat tento typ přizpůsobení, aniž by byla ohrožena schopnost čtenářů s potřebami přístupnosti (např. barvoslepostí) je používat.
Upozornění
Upozorňujeme, že ačkoli grafy aktuálně vykreslují SVG výstup, který lze stylovat pomocí TemplateStyles, upozorňujeme, že stylování souvisejících SVG prvků by nemělo být považováno za stabilní, protože se může kdykoli změnit. Nespoléhejte se prosím na CSS pro úpravu vzhledu grafů, protože to může v budoucnu vést k nefunkčním grafům nebo to může narušit funkce přístupnosti, které mění velikost písma, a funkce, jako je tmavý režim.
Internacionalizace
Grafy lze vkládat pouze do jazyka obsahu wiki. Takže například řetězec dotazu "uselang" (např. ?uselang=es
) graf neovlivní.
Formát grafu podporuje definování textu, jako je název a popisky, v různých jazycích, takže stejný graf lze použít na stránkách wikin různých jazyků. Viz příklad grafu s podporou více jazyků zobrazeného na španělsky psané wiki.
Známé chyby
Viz toto filtrované zobrazení tabulky Charts Phabricator.
Typy grafů
U všech grafů se očekává, že data budou uspořádána do sloupců, přičemž první sloupec představuje hodnotu x-axis
a následující sloupce představují řady nebo křivky s hodnotou y-axis
.
Spojnicový
V následujícím příkladu je proměnná {{#chart: }}
zabalena do kontejneru {{Image frame }}, který nastavuje šířku grafu a obsahuje popisek.
Je také uveden odkaz na nezpracovaná tabulková data, kde lze nalézt informace o zdrojích dat:
{{image frame
|content={{#chart:Example.Line.chart}} [[commons:Data:Chart Example Data.tab|'''Raw data''']]
|width = 340
|caption = This is an example of a line chart.
}}
Výsledek naleznete v této sekci.
Sloupcový
Zde graf zabírá celou šířku oblasti obsahu stránky:
{{#chart:Example.Bar.chart}} <div align="center">[[commons:Data:Chart Example Data.tab|'''Raw data''']]</div>
To má za následek:
Plošný
Výsečový
Výsečové grafy jsou speciálním typem grafu a zdroje dat mohou vyžadovat úpravu, aby se správně vykreslily.
Při čtení dat budou všechny sloupce, které neobsahují čísla (např. osa x), zahozeny a v grafu bude zobrazen součet všech řádků.
Například pokud více řádků zobrazuje hodnoty pro A, B a C k různým datům, např. 1. ledna a 2. ledna, bude segment koláčového grafu pro A představovat součet všech hodnot řádků pro A v rámci těchto dat.
Hledání existujících grafů
Grafy, které lze použít v článcích, jsou k dispozici na Wikimedia Commons a lze je sledovat pomocí kategorií MediaWiki.
Tento dotaz lze použít jako zástupný dotaz k nalezení grafů, které vytvořili jiní, a k jejichž překladům přispěli, a k nalezení záložek, které lze použít k vytvoření grafů.
Sada wiki stránek, které používají grafy na jakékoli konkrétní wiki, se nachází v kategorii, jejíž název je definován na hodnotě MediaWiki:chart-render-category a MediaWiki:Chart-error-category (na této wiki Category:Pages using the Chart extension a Category:Pages using the Chart extension with rendering errors ). Pro snazší vyhledávání na interwiki prosím propojte kategorie wiki s d:Q131382738 a d:Q131406605.
Migrace z rozšíření Graph
Staré grafy, které je třeba migrovat do rozšíření Charts, naleznete v kategorii stránky Wikipedie se zakázanými grafy v různých jazycích. Některé však již byly smazány, aniž by byly nahrazeny novými grafy. Seznam lze porovnat s archivovaným seznamem prvních 200 z 23 811 stránek anglické Wikipedie se zakázanými grafy z roku 2023, krátce poté, co byly šablony do této kategorie přidány, a odpovídajícím seznamem v jiných jazycích.
Technická dokumentace
Vzhledem k problémům s Extension:Graph byla všechna rozhodnutí týkající se nového rozšíření pečlivě zvážena s nadějí na vybudování důvěry v jeho nahrazení.
Technická rozhodnutí jsou zatím zdokumentována v repozitáři kódu ve složce /doc/adr.
Monitorování chyb
Stránky s nedostatkem .chart se automaticky ukládají do commons:Category:Pages using the Chart extension with rendering errors. Wiki stránky s chybnými grafy se v různých jazykových verzích automaticky ukládají do kategorie Stránky používající rozšíření Chart s chybami vykreslování.
Chyby s vykreslováním grafů na straně klienta budou zaznamenány do logstash. (Jen pro vývojáře.)
Nástroje pro tvorbu grafů
Existuje několik možných metod pro poloautomatické vytváření a úpravu grafů a jejich tabulkových dat:
- Skript graphDataImport lze ve webovém prohlížeči použít k extrakci dat z existujícího grafu wikitextu a podobných objektů a k jejich převodu na stránku o velikosti .tab, stránku s definicí o velikosti .chart a nový wikitext.
- Generativní umělá inteligence může být vyzvána k extrakci dat z existujícího grafového wikikódu a tabulek, k jejich převodu na stránky o velikosti .tab a .chart a k vygenerování nového wikikódu podle zadaných specifikací. Může také poskytovat překlad názvů a být použit k rozšíření a aktualizaci stránky .tab o nová data.
- Gadget TabularImportExport dokáže převádět soubory Excel a .csv na stránky .tab a z nich. Můžete ji aktivovat prostřednictvím vašich nastavení Commons.
- Uživatelské rozhraní JSON
Editovat jako tabulku
(součást rozšíření Jsonconfig ) je k dispozici na stránce úprav .tab. - Někteří roboti mohou na požádání periodicky importovat statistiky z webu nebo z existujících grafů Wikipedie na .tab nebo .chart stránky. Mezi takové roboty patří DPLA bot a SLiuBot.
- GraphBot převádí grafy z anglické Wikipedie do tabulek.
Související odkazy
- Extension:Chart/Project/FAQ - Často kladené otázky
- Transforms
![]() | Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |