2016-06-25 14 views
1

Hey Leute, die Probleme mit Vincent haben, ich bin mir nicht sicher, wie man es genau benutzt So ive analysierte einige Daten aus dem britischen House of Commons Petition Website, und haben jetzt eine Liste der Länder und ihre entsprechenden Anzahl der Stimmen in eine bestimmte Petition und ive bekam die Daten von JSON ('Austria', 40) FormatDaten auf eine Landkarte plotten

Im vincent mit ihnen auf einer Karte skaliert mit Farbe plotten Anzahl der Stimmen zu vertreten, aber nicht wirklich wissen, wie vincent

verwenden zum Beispiel , um eine grundlegende Karte der Welt zu rendern, ist der Code

world_topo = r'world-countries.topo.json' 
geo_data = [{'name': 'countries', 
      'url': world_topo, 
      'feature': 'world-countries'}] 

vis = Map(geo_data=geo_data, scale=200) 
vis.to_json('vega.json') 

aber das gibt nur einen JSON, kein Bild von einer Karte, obwohl das ist, was zwei Tutorial Beispiele sagen (zum Beispiel hier: http://wrobstory.github.io/2013/10/mapping-data-python.html und einem anderen Ort, wo ich den Link zu speichern vergessen zu) passieren sollte

könnte mir jemand helfen? Danke im Voraus Jungs

Antwort

0

Wenn Sie ein Bild von einer Karte sehen möchten, müssen Sie eine HTML-Datei erstellen, die die JSON-Datei lesen und zuordnen wird.

<html> 
<head> 
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> 
<script src="http://d3js.org/topojson.v1.min.js"></script> 
<script src="http://d3js.org/d3.geo.projection.v0.min.js" charset="utf-8"></script> 
<script src="http://trifacta.github.com/vega/vega.js"></script> 
</head> 

<body> 
<div id="vis"></div> 
//This script will read your json file and print it to the map 
<script type="text/javascript"> 
    function parse(spec) 
    { 
     vg.parse.spec(spec, function(chart) { chart({el:"#vis"}).update(); }); 
    } 
    //Put the name of your json file where vega.json is 
    parse("vega.json"); 
</script> 
</body> 
</html> 

Dann öffnen Sie Ihren Zeilenbefehl und geben Sie in: Python -m SimpleHTTPServer 8000 # Python 2 Weiter Ihren Browser bei http://localhost:8000/path/to/json/file öffnen.

Sie sollten jetzt eine Karte auf der Seite sehen. Beachten Sie, dass dies eine einfache Map ist, abhängig davon, welche Daten Sie aus der JSON-Datei übergeben haben.

Ich hoffe, das hilft und viel Glück!

0

Zuerst sollten Sie die letzte Zeile Ihres Codes ändern. Versuchen Sie, diese vereinfachtes Beispiel:

import vincent 
list_data = [10, 20, 30, 20, 15, 30, 45] 
vega = vincent.Bar(list_data) 
vega.to_json('vega.json',html_out=True,html_path='vega.html') 

dann die Terminal-CD auf den Standort Ihres Projekts verwenden, das heißt, wo vega.html gespeichert wird.

Danach einen lokalen Server mit Python -m SimpleHTTPServer 8000 ausführen. Danach können Sie einen beliebigen Browser öffnen und http://localhost:8000/vega.html eingeben.

Beachten Sie, dass je nach Version von vincent die Notation innerhalb der .tojson unterschiedlich sein kann.

Hoffnung, das hilft :)

P. S. Ich denke, du solltest auch das Python-Tag hinzufügen, damit die Leute es einfacher finden.

Verwandte Themen