Extension:Graph/Guide/tr

Bu sayfa, topluluğun uzantısını kullanarak en iyi uygulamaları yazması içindir. Ayrıca  bakınız

Grafikleri maddelerden ayrı tutun
Grafikler maddenin içinde saklanabilse de, bunları ayrı şablonlar olarak saklamak çok daha iyi bir yaklaşımdır, ör. 'Template:Graph:&lt;yourgraphname&gt; eklenebilir

Grafikleri özelleştirilebilir yapın
Grafik ayarlarını doğrudan grafiğin içine yerleştirebilseniz bile, bunu yapmak genellikle kötü bir tasarımdır. Grafikler, farklı veri ve stil kümeleriyle birden çok maddede yeniden kullanılabilen esnek şablonlar olarak yapılmalıdır. Örneğin, grafiğin genişliği ve yüksekliği sabit kodlanmış olsa bile:

kolay özelleştirmeye izin verecek şekilde varsayılan değerlerle şablon parametreleri olarak yapılmalıdır:

Verileri grafikten ayrı tutun

 * Yukarıdaki stil gibi, verilerin kendisi de grafikte saklanmamalıdır. Bir grafikten yararlanabilecek büyük bir tablo içeren bir sayfayı düşünelim, ör. en pahalı resimlerin listesi. Sayfa, verilerle oldukça karmaşık bir tablo içerir:

Bir grafik oluşturmanın basit yaklaşımı, gerekli verileri çıkarmak ve grafiği bu verilerle tablonun yanına yerleştirmektir. Bu işe yarayacak olsa da, bu yaklaşım pek iyi değil çünkü artık aynı verinin iki kopyası var ve bir şey değiştiğinde her ikisinin de güncellenmesi gerekiyor. Ayrıca, grafik metnin içindeyse, madde daha da uzar ve grafik kodu ve verilerle dolar. Daha az kişi onu düzenleyebilir. Grafik ayrı bir şablona yerleştirilirse, editörlerin verileri değiştirirken güncellemeyi unutmaları daha olasıdır.

Doğru çözüm, başlangıçta biraz daha zor olmasına rağmen, çok daha ileriye dönük ve yönetilmesi daha kolay bir yol sağlayacaktır ve tüm bu tür listeler için yeniden kullanılabilir.


 * 1) Ham verilerle, tercihen JSON biçiminde ayrı bir sayfa oluşturun. Bu dosyanın yapısı, listenin ihtiyaç duyduğu verilere göre belirlenir.
 * 2) Bu ham verileri iyi biçimlendirilmiş bir viki tablosuna dönüştüren bir işleve sahip bir Lua modülü oluşturun.
 * 3) Aynı Lua modülünde, grafik için gerekli verileri çıkaran ve JSON biçimli veriler olarak çıkış veren başka bir işlev oluşturun.
 * 4) Yukarıdaki verileri kullanabilen ve grafiğini çizebilen grafik şablonunu oluşturun
 * 5) Son olarak, bu iki pasajı liste sayfasına ekleyin:

verileri içeren iyi biçimlendirilmiş tablo ekler:

aynı verilerle grafik ekler:

Dış Veriler
Grafik verileri grafik tanımının içine gömülebilir veya bir  bağlantısı üzerinden sağlanabilir. Standart Vega'dan farklı olarak, grafik etiketi tüm harici bağlantıların özel viki protokollerinden birini kullanmasını gerektirir:


 * - Gets tabular dataset from Commons. Should be used with  (or "meta" or "fields"). The data given to the graph is already localized to the wiki language.

For example, this dataset would be given to the graph in this format:


 * - Gets map dataset from Commons. Should be used with  (can also use "meta" to get the same information as for tabular). The data given to the graph is already localized to the wiki language.
 * - Gets File:Einstein_1921.jpg image from Commons for an image mark. It is always recommended to add  (and/or height) to make the image the right size and reduce server load.
 * OBSOLETE, use wikifile: instead  - Grafik için bir resim alın, ör. Commons'dan. Bu etiket, sorgu parametreleri olmadan uploads.* etki alanındaki herhangi bir içeriği belirtir. Dosya yolunu ve resminin isteğe bağlı boyutunu almak için dosya yolu sihirli anahtar sözcüğünü kullanın.
 * - Yolun sayfanın başlığı olduğu bir viki sayfasının ham içeriğini alın. Alan adı isteğe bağlıdır ve belirtilirse, en.wikipedia.org, commons.wikimedia.org,... gibi herhangi bir Wikimedia sunucusu olabilir.
 * - MediaWiki API'den veri alın. Alan isteğe bağlıdır.
 * - RESTbase API'yi çağırın. Alan isteğe bağlıdır.
 * or  - Vikiveri kimliklerini veya URL kodlu bir sorguyu (SPARQL) kullanarak verilen bölgelerin geoshapeslerini (topojson olarak) alınacak geoshapes belirten "id" sütunu ile alın.
 * - Belirli bir konum/yakınlaştırma/boyut için statik bir harita çizilebilmesi için harita anlık görüntü hizmetine bir bağlantı oluşturur. Parametreler, bunu Kartotherian için anlık görüntü isteğine dönüştürülür - https://maps.wikimedia.org/img/{style},{zoom},{lat},{lon},{width}x{height}@2x.png

Examples of charts with external data
To see working example of graph json which uses external data it is possible to use Template:Graph:Lines and Template:Graph:Stacked template's debug= parameter. For example below template invocation

will produce following graph consistent json

İç içe geçmiş şablon parametreleri hakkında hatırlatma
Şablonlar, iç içe geçmiş şablon parametrelerini en az bir karakterle ayırmanızı gerektirir, aksi takdirde grafik yalnızca görüntülenmez ve bir sözdizimi hatası alırsınız. Dikkatli olun!

Grafiklerde çift küme parantezi kullanma
Vega 2,  gibi şablon parametrelerini destekler, ancak MediaWiki "indexDate" şablonunu bulmaya ve onu yansıtmaya çalışacaktır. Bunu önlemek için, ilk küme ayracı yerine \u007b, son kapanış küme ayracı yerine \u007d ve boru simgesi "$pip2" yerine | kullanın:

Hata ayıklama

 * Geliştirme ve hata ayıklama için en iyi yer Grafik Deneme Tahtası'dır. Siz yazarken grafiğin gerçek zamanlı olarak değiştiğini görmek için JSON kodunu kopyalayın. Grafik deneme tahtası, json yorumlarını anlar ve viki biçimlendirmesini genişletir. Dönüştürülmüş JSON için sağ alt panele bakın.
 * To get the graph JSON from a template, while the graph is being displayed, use the following oneliner in the browser's debugger console (hit to show the JSON. If there is more than one graph on the page, increment the  until you get the one you want. Remove first and last quote, and copy/paste to the Vega editor above.


 * In Google Chrome, this will copy the string directly onto the clipboard :


 * You can also use browser's debugger to inspect the graph you are interested in (even if it is not showing) - you should see something like . Copy the hash value, hit escape (in Chrome), and use this oneliner to show the JSON (replacing the shown hash value with your own). Remove first and last quote, and copy/paste to the Vega editor above.