Карта мира: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{Extension:Graph/Demo/MapTemplate|{{#invoke:Graph:Utils|parseCsv|Extension:Graph/Demo/RawData:PopulationByCountryHistoric-csv|2010}}|scale=180}}») |
|||
Строка 1: | Строка 1: | ||
+ | <graph mode=interactive> |
||
− | {{Extension:Graph/Demo/MapTemplate|{{#invoke:Graph:Utils|parseCsv|Extension:Graph/Demo/RawData:PopulationByCountryHistoric-csv|2010}}|scale=180}} |
||
+ | { |
||
+ | "version": 2, |
||
+ | "width": 500, |
||
+ | "height": 260, |
||
+ | "padding": 12, |
||
+ | "background": "#edf1f7", |
||
+ | "data": [ |
||
+ | { |
||
+ | "name": "countryNames", |
||
+ | "url": "wikidatasparql:///?query=PREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%20%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0A%0ASELECT%20%3Fid%20%3Fvalue%20WHERE%20%7B%0A%20%20%20%7B%20SELECT%20DISTINCT%20%3Fid%20%20WHERE%20%7B%0A%20%20%20%20%20%3Fplace%20wdt%3AP17%20%3Fid%20.%0A%20%20%20%7D%20%7D%0A%20%20%20%3Fid%20wdt%3AP299%20%3Fcode%20.%0A%20%20%20SERVICE%20wikibase%3Alabel%20%7B%0A%20%20%20%20%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%2Cen%22%20.%0A%20%20%20%20%20%3Fid%20rdfs%3Alabel%20%3Fvalue%0A%20%20%20%7D%0A%7D%0A", |
||
+ | "format": { "type": "json" } |
||
+ | }, |
||
+ | { |
||
+ | "name": "countryPopulation", |
||
+ | "url": "wikidatasparql:///?query=PREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%20%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0A%0ASELECT%20%3Fid%20%3Fvalue%20WHERE%20%7B%0A%20%20%20%7B%20SELECT%20DISTINCT%20%3Fid%20%20WHERE%20%7B%0A%20%20%20%20%20%3Fplace%20wdt%3AP17%20%3Fid%20.%0A%20%20%20%7D%20%7D%0A%20%20%20%3Fid%20wdt%3AP299%20%3Fcode%20.%0A%20%20%20%3Fid%20wdt%3AP1082%20%3Fvalue%20.%0A%7D%0A", |
||
+ | "format": { "type": "json" } |
||
+ | }, |
||
+ | { |
||
+ | "name": "museumCounts", |
||
+ | "url":"wikidatasparql:///?query=PREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%20%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0A%0ASELECT%20DISTINCT%20%3Fid%20(count(*)%20as%20%3Fvalue)%20WHERE%20%7B%0A%20%20%20%3Fplace%20wdt%3AP31%2Fwdt%3AP279*%20wd%3AQ33506%20.%0A%20%20%20%3Fplace%20wdt%3AP17%20%3Fid%20.%0A%7D%0A%0AGROUP%20BY%20%3Fid", |
||
+ | "format": { "type": "json" } |
||
+ | }, |
||
+ | { |
||
+ | "name": "map", |
||
+ | "url": "wikiraw:///Extension:Graph/Demo/RawData:WorldMap-json", |
||
+ | "format": {"type": "topojson","feature": "countries"}, |
||
+ | "transform": [ |
||
+ | { |
||
+ | "type": "geopath", |
||
+ | "value": "data", |
||
+ | "scale": 80, |
||
+ | "center": [-180,125], |
||
+ | "translate": [0,0], |
||
+ | "projection": "equirectangular" |
||
+ | }, |
||
+ | { |
||
+ | "type": "lookup", |
||
+ | "keys": ["id"], |
||
+ | "on": "countryNames", |
||
+ | "onKey": "id", |
||
+ | "as": ["name"], |
||
+ | "default": {"value": {"value": "???"} } |
||
+ | }, |
||
+ | { "type": "formula", "field": "name", "expr": "datum.name.value" }, |
||
+ | { |
||
+ | "type": "lookup", |
||
+ | "keys": ["id"], |
||
+ | "on": "countryPopulation", |
||
+ | "onKey": "id", |
||
+ | "as": ["population"], |
||
+ | "default": {"value": {"value": 0} } |
||
+ | }, |
||
+ | { "type": "formula", "field": "population", "expr": "datum.population.value" }, |
||
+ | { |
||
+ | "type": "lookup", |
||
+ | "keys": ["id"], |
||
+ | "on": "museumCounts", |
||
+ | "onKey": "id", |
||
+ | "as": ["museums"], |
||
+ | "default": {"value": {"value": 0} } |
||
+ | }, |
||
+ | { "type": "formula", "field": "museums", "expr": "datum.museums.value" }, |
||
+ | { |
||
+ | "type": "formula", |
||
+ | "field": "rate", |
||
+ | "expr": "datum.population > 0 && datum.museums > 0 ? (datum.museums / datum.population) : 0.000000001" |
||
+ | } |
||
+ | ] |
||
+ | } |
||
+ | ], |
||
+ | "signals": [ |
||
+ | { |
||
+ | "name": "tooltipSignal", |
||
+ | "init": {"expr": "{x: 0, y: 0, datum: {name:'', population:'', museums:''} }"}, |
||
+ | "streams": [ |
||
+ | { |
||
+ | "type": "@map:mouseover", |
||
+ | "expr": "{x: eventX(), y: eventY(), datum: eventItem().datum}" |
||
+ | }, |
||
+ | { |
||
+ | "type": "@map:mouseout", |
||
+ | "expr": "{x: 0, y: 0, datum: {name:'', population:'', museums:''} }" |
||
+ | } |
||
+ | ] |
||
+ | } |
||
+ | ], |
||
+ | "scales": [ |
||
+ | { |
||
+ | "name": "color", |
||
+ | "type": "log", |
||
+ | "domain": {"data": "map","field": "rate"}, |
||
+ | "zero": false, |
||
+ | "range": ["#FFEDBC", "#f83600"] |
||
+ | } |
||
+ | ], |
||
+ | "marks": [ |
||
+ | { |
||
+ | "type": "text", |
||
+ | "properties": { |
||
+ | "enter": { |
||
+ | "text": {"value": "Museums"}, |
||
+ | "x": {"value": 0}, |
||
+ | "y": {"value": 25}, |
||
+ | "fontSize": {"value": 32}, |
||
+ | "fontWeight": {"value": "bold"}, |
||
+ | "fill": {"value": "steelblue"} |
||
+ | } |
||
+ | } |
||
+ | }, |
||
+ | { |
||
+ | "name": "map", |
||
+ | "type": "path", |
||
+ | "from": {"data": "map"}, |
||
+ | "properties": { |
||
+ | "enter": {"path": {"field": "layout_path"} }, |
||
+ | "update": { |
||
+ | "fill": [ |
||
+ | { |
||
+ | "test": "datum.rate !== null", |
||
+ | "scale": "color", |
||
+ | "field": "rate" |
||
+ | }, |
||
+ | {"value": "grey"} |
||
+ | ] |
||
+ | }, |
||
+ | "hover": {"fill": {"value": "#989898"} } |
||
+ | } |
||
+ | }, |
||
+ | { |
||
+ | "type": "text", |
||
+ | "properties": { |
||
+ | "enter": { |
||
+ | "x": {"value": 500}, |
||
+ | "y": {"value": 10}, |
||
+ | "align": {"value": "right"}, |
||
+ | "fontSize": {"value": 17}, |
||
+ | "fill": {"value": "black"} |
||
+ | }, |
||
+ | "update": { |
||
+ | "text": {"template": "\u007b{tooltipSignal.datum.name}\u007d \u007b{tooltipSignal.datum.museums}\u007d"} |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | ], |
||
+ | "legends": [ |
||
+ | { |
||
+ | "fill": "color", |
||
+ | "title": "Per Capita", |
||
+ | "offset": -300, |
||
+ | "properties": { |
||
+ | "labels": { |
||
+ | "text": {"value": ""} |
||
+ | }, |
||
+ | "gradient": { |
||
+ | "stroke": {"value": "transparent"} |
||
+ | }, |
||
+ | "title": { |
||
+ | "fontSize": {"value": 14} |
||
+ | }, |
||
+ | "legend": { |
||
+ | "x": {"value": 0}, |
||
+ | "y": {"value": 180} |
||
+ | } |
||
+ | } |
||
+ | } |
||
+ | ] |
||
+ | } |
||
+ | </graph> |