Vorlage Diskussion:Jahresdiagramm

Letzter Kommentar: vor 11 Jahren von Pietz in Abschnitt Fehlermeldung

Meine Experimente

Bearbeiten
Timeline {{Jahresdiagramm}}

Ich habe ein wenig experimentiert (Daten aus Yundum); ich will die Vorlage ja verwenden, wenn es neue Daten zu 2011 gibt - leider sind auf http://bevoelkerungsstatistik.de noch keine neuen Werte zur Berechnung 2011 vorhanden.

Die äußeren Maße der Grafik will ich behalten, deswegen habe ich das Paar |Höhe und |Breite definiert. Da ich |Höhe verwendet habe muss ich dann über |Maßstab noch irgend einen Wert mir suchen. Mir wäre es aber lieber - wenn ich einen Max-Wert für y mitgeben kann (und durch Intervall ihn vernünftig aufteilen). Kann man da irgend was machen? "pro Pixel Höhe" (bei |Maßstab) interessiert mich wenig bzw. ich will die Rechnung nicht für |Maßstab jedes mal machen. --Atamari 19:54, 18. Jul. 2011 (CEST)Beantworten

erledigt. Der Maßstab ist aber immer genau Max durch Höhe, egal ob die beiden abgerundet werden oder nicht. Allerdings legt Maßstab mit Intervall den "Zeilenabstand" fest, wenn du also an der Höhe bzw. Max rumspielst solltest du das Intervall anpassen. --Bergi 14:25, 19. Jul. 2011 (CEST)Beantworten
Ja genau. Super. Sicherlich kann man auch mit |Maßstab arbeiten, aber ich denke es ist vielleicht intuitiver den Wert |Max einfach aus der Datentabelle abzulesen (eigentlich könnte das die Vorlage, ich habe das mal vor Monaten auf den Commons gemacht - aber das würde das Laden der Seite durch vielen (Max-)Formeln vielleicht verlangsamen). --Atamari 15:49, 19. Jul. 2011 (CEST)Beantworten
Jetzt muss ich das noch mittelfristig in die {{Infobox Ort in Gambia}} integrieren.
{{Jahresdiagramm
|Höhe = 120          festgesetzt (als default) in der Infobox
|Breite = 238        festgesetzt (als default) in der Infobox
|Max = 13000
|Intervall = 2000
|Farbe = drabgreen   festgesetzt (als default) in der Infobox
|Einheit = Einwohner festgesetzt (als default) in der Infobox
|Start = 1965        festgesetzt (als default) in der Infobox (Unabhänigkeitsdatum GM)
|1993 = 3545         wird durchgeschleift
                     (es werden wohl die Daten von 1973, 1983, 1993, 2003, [2004-] vorhanden sein)
}}
  • aus der Infobox könnte |Einwohner = nun der Wert aus -> {{CURRENTYEAR}} oder wenn nicht vorhanden aus {{CURRENTYEAR}}-1 verwendet werden (In Klammer dahinter das ausgegebene Jahr). Oder klappt das nicht, weil EW noch für die {{Coordinate}} gebraucht wird?
  • Unschlüssig bin ich noch, ob als gemeinsamer Startwert 1965 wirklich günstig ist, oder das erst abhängig von der Datengrundlage zu setzten. 1965 hätte den Charme, dass die Säulen im Themenbereich dann alle gleich dick sind.
Aber vielleicht kannst du mir helfen, das in der Vorlage mittelfristig einbauen. So dass die Parameter vernünftig übergeben werden? --Atamari 15:49, 19. Jul. 2011 (CEST)Beantworten
Man könnte ein bisschen tricksen, um mit weniger Parametern auszukommen:
{{Infobox Ort in Gambia
|Längengrad
|Breitengrad
|Distrikt
|was weiß ich
|…
|Bev1 = 1973=545
|Bev2 = 1983=4589
|Bev3 = 1994=3545
|Bev4 = 2003=4529
}}
mit
|-
| {{Jahresdiagramm
 |Höhe = 120
 |Breite = 238
 |Max = 14000
 |Intervall = 2000
 |Farbe = drabgreen
 |Einheit = Einwohner
 |Start = 1965
 |{{{Bev1|}}}
 |{{{Bev2|}}}
 |{{{Bev3|}}}
 |…
 |{{padleft:|4|{{{EinwohnerStand}}}}}={{{Einwohner}}}
}}
in der Infobox. Das würde die Infobox etwas übersichtlicher machen, wenn man sich sicher sein kann, dass keine Einbindung 46 Werte aufweisen kann. Ich würde aber für simples Weiterreichen plädieren, da das Format im Artikel etwas gewöhnungsbedürftig ist und potentielle Autoren abschreckt, die meinen, die Parameter müssten chronologisch belegt werden, und die Bev-Parameter nicht neu nummerieren wollen.
Wenn du den Parseraufwand ein wenig minimieren willst, könnte man auch über eine direkte Einbindunge der Vorlage:Jahresdiagramm/Timeline nachdenken. Das sähe dann etwa so aus:
|-
| {{Jahresdiagramm/Timeline
 |Intervall = 2000
 |Balkenzahl = 7
 |Balkenformel = *2000)
 |Höhenformel = 1+20 + 1/14000*120*
 |Grafikbreite = (238-50-0)
 |Grafikhöhe = 120
 |Oben = 0
 |Unten = 20
 |Rechts = 0
 |Links = 50
 |Start = 1965
 |Startlinks = ( ({{LOCALYEAR}}-1965) / 15 round 0 )
 |Ende = {{LOCALYEAR}}
 |Enderechts = ( ({{LOCALYEAR}}-1965) / 15 round 0 )
 |Gitter = 
 |Säulenbreite = 1
 |Farbe = drabgreen
 |Einheit = Einwohner
 |1965 = {{{Bev1965|}}}
 |1966 = {{{Bev1966|}}}
 |1967 = {{{Bev1967|}}}
 |1968 = {{{Bev1968|}}}
 |1969 = {{{Bev1969|}}}
 |1970 = {{{Bev1970|}}}
 |…
 |{{padleft:|4|{{{EinwohnerStand}}}}}={{{Einwohner}}}
}}
--Bergi 16:56, 19. Jul. 2011 (CEST)Beantworten
PS zu deinen Fragen:
  • Das würde ich über einen Parameter EinwohnerStand lösen. Die aktuelle Zahl sollte sowieso nochmal als Text erscheinen, dahinter kann (per {{FormatDate}}?) der Stand angezeigt werden. Ebenso kann man sich dann für die Koordinaten den richtigen Bevölkerungsparameter raussuchen: …|pop = {{{Bev{{Str left|4|{{{Einwohnerstand|}}}}} }}} |….
  • Das Jahr der Unabhängigkeit als Start zu nehmen finde ich OK. 1965 ist auch noch nicht so lange her, dass das Diagramm größtenteils leer ist und nur ganz rechts befüllt wird; da finde ich Einheitlichkeit besser. Eine automatisierte Lösung per {{Min}} (o.ä.) ist etwas aufwändig. --Bergi 17:08, 19. Jul. 2011 (CEST)Beantworten
Ja, Danke. Ich schau mir das in den nächsten Tagen an. --Atamari 00:54, 20. Jul. 2011 (CEST)Beantworten
Ich habe es eingebunden und unter dem Ort Yundum eine Probe-Umstellung gemacht, klappt ja ganz gut. Aber das mittels den Parameter EinwohnerStand die passende Einwohnerzahl entnommen wird hat bei mir nicht funktioniert. Auch nicht funktioniert hat, zwei neue Wartungslinks von mir, an denen ich Anhand der Einwohnerzahl die Artikel klassifizieren kann. Schaust du mal bitte? --Atamari 00:54, 21. Jul. 2011 (CEST)Beantworten
Gerne. Das Entnehmen der Einwohnerzahl aus der Jahreszahlenreihe müsste (exemplarisch) so funktionieren:
|-
{{#if: {{{EinwohnerStand|}}} |
{{!}} Einwohner
{{!}} {{{ {{{Einwohnerstand}}} |}}} ({{{EinwohnerStand}}})
}}
|-
{{#if: {{{EinwohnerStand|}}} |
 {{#iferror: {{#ifexpr: {{{ {{{Einwohnerstand}}} }}} < 500 | Wartungslink }}
  | Probleme beim Parameter <code>{{{Einwohnerstand}}}</code>, der die Einwohnerzahl sein sollte!
 }}
}}
|-
Nachdem der Parameter aber ziemlich oft gebraucht wird hab ich mich für die andere Lösung entschieden, das Übergeben des aktuellen Einwohnerstandes an das Diagramm. Wobei mir gerade kommt, dass dann vermutlich viele die Einwohnerzahl doppelt angeben. So aufwendig wäre die andere Lösung eigentlich nicht, soll ichs noch ändern? --Bergi 21:16, 21. Jul. 2011 (CEST)Beantworten
So, ich bin gerade angekommen und schau mir die Änderungen an (will ja immer was lernen). Erstmal DANKE - gleich studiere ich weiter den Quelltext. Soweit ich den Quelltext gesehen habe, ist es auch eine Idee den letzten Wert (der ausgeschrieben in der Box stehen soll) gesondert zu übergeben und den Rest als Historie anzusehen. So braucht der auch nur einmal übergeben zu werden.
Was ich gesehen habe, ist - wohl versehentlich nicht mehr der Parameter map (also Karte) ausgewertet wird. Unter Map habe ich Karten bei Banjul, Serekunda und Brikama eingebunden. Diese sind auf den damaligen Stand in Openstreetmap einigermaßen so erstellt, dass man eine Vorstellung über die Struktur bekommen kann.
Auch klappt jetzt der Wartungslink, von dem ich mir verspreche gar nicht so uninteressant ist. Also "Wartungslink" wünsche ich mir noch a) die Artikel des aktuellen Jahr, b) des vergangenen Jahr und c) die nicht in diesen beiden Kategorien eingeordnet sind, also mehr als ein Jahr nicht aktualisiert sind oder ein fehlerhaftes EinwohnerStand (z.B. 2013) haben.
...so, jetzt schau ich weiter in meiner Beobachtungsliste und dann noch den Quelltext. --Atamari 22:18, 21. Jul. 2011 (CEST)Beantworten
Parameter "Map" habe ich entfernt? (nun wieder eingefügt). --Atamari 23:32, 21. Jul. 2011 (CEST)Beantworten
Zu deiner Frage ("Wobei mir gerade kommt, dass dann vermutlich viele die Einwohnerzahl doppelt angeben. So aufwendig wäre die andere Lösung eigentlich nicht, soll ichs noch ändern?") Erstens, gefällt mir die Lösung dass der letzte Wert eine besondere Wichtigkeit durch die Benamung des Parameter erfährt - schließlich wird er in der Box selber öfter gebraucht. Zweitens - zu 99% habe ich Artikel zu Orte in Gambia beschrieben. Man könnte ja auch eine Fehlermeldung ausgeben, wenn da was doppelt (und sogar verschieden) übergeben wird. --Atamari 23:41, 21. Jul. 2011 (CEST)Beantworten
Bin durch. Alle Orte in Gambia + Alle Regionen in Gambia sind umgestellt. --Atamari 15:57, 26. Jul. 2011 (CEST)Beantworten

Fehlermeldung

Bearbeiten

Hallo,

folgender Jahresvergleich solte laut Code doch anders aussehen, oder?

Gefundene Bugs:

  • Kleinen Double-Werte werden viel zu lang dargestellt
  • 2012 fehlt in der Darstellung
  • Die Überschrift der y-Achse schneidet sich mit dem Skala-Wert
  • Der Balken von 2010 beginnt unter Null, der von 2011 über Null.

Eventuell kann sich ja mal jemand diese Bugs ansehen :-)

--Pietz (Diskussion) 22:04, 10. Dez. 2012 (CET)Beantworten