Extension:Chart/cs

Category:GPL licensed extensions/cs
Příručka k rozšířením MediaWiki
Chart
Stav rozšíření: stabilníCategory:Stable extensions/cs
Implementace Značka Category:Tag extensions/cs
Popis Vykresluje grafy
Autoři TODO
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 Category:Extensions in Wikimedia version control/cs
README
  • $wgChartRequestSizeLimit
  • $wgChartProgressiveEnhancement
  • $wgChartTransformsEnabled
  • $wgChartServiceUrl
  • $wgChartCliPath
Přeložte rozšíření Chart, používá-li lokalizaci z translatewiki.net
Problémy Otevřené úkoly · Nahlásit chybu
Category:All extensions/cs

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ů:

  • Spojnicový graf
  • Sloupcový graf
  • Plošný graf
  • Výsečový 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ý

%supportDate010203040509. 9. 199326. 9. 199319. 10. 1993ElvesEntsOrcsHobbitsTrollsExample Line ChartExample subtitle Hrubá data
This is an example of a line chart.

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}} <center>[[commons:Data:Chart Example Data.tab|'''Raw data''']]</center>

To má za následek:

%supportDate010203040509. 9. 199326. 9. 199319. 10. 1993ElvesEntsOrcsHobbitsTrollsExample Bar ChartExample subtitle
Hrubá data


Plošný

%supportDate0204060801009. 9. 199326. 9. 199319. 10. 1993ElvesEntsOrcsHobbitsTrollsExample Area ChartExample subtitle
Hrubá data

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.

ElvesEntsOrcsHobbitsTrollsElvesEntsOrcsHobbitsTrollsExample Pie ChartExample subtitle
Hrubá data


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

Please see the category Wikipedia pages with disabled graphs in various languages for old graphs that need to be migrated to the Charts extension. 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 pages with faulty .charts are automatically stored in Category:Pages using the Chart extension with rendering errors in different language versions.

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:

  • The script graphDataImport can be used in the web browser to extract data from existing graph wikitext and similar, and convert it to a .tab page, a .chart definition page and new wikitext.
  • Generative AI can be prompted to extract data from existing graph wikicode and tables, and convert it to .tab and .chart pages and generate new wikicode, according to given specifications. It can also provide translation of titles, and be utilized to extend and update the .tab page with new data.
  • The gadget TabularImportExport can convert Excel and .csv files to and from the .tab pages. You can activate it via your Commons preferences.
  • The JSON "edit as table" user interface (part of the Jsonconfig extension) is available from the .tab edit page.
  • Some bots can periodically import statistics from the web, or from existing Wikipedia graphs, to .tab or .chart pages, upon request. Such bots include DPLA bot and SLiuBot.
  • GraphBot ports English Wikipedia graphs to charts.

Související odkazy

Category:Extensions used on Wikimedia/cs#Chart/cs
Category:All extensions/cs Category:Extensions in Wikimedia version control/cs Category:Extensions used on Wikimedia/cs Category:GPL licensed extensions/cs Category:LinksUpdateComplete extensions/cs Category:PageSaveComplete extensions/cs Category:Pages using the Chart extension Category:ParserFirstCallInit extensions/cs Category:Stable extensions/cs Category:Tag extensions/cs