2017-10-04 14 views
1

私は割り当てのためのSankeyダイアグラムを作成しようとしています。私は驚くべきコードを見つけました:https://plot.ly/~alishobeiri/1591/plotly-sankey-diagrams/私は私の要求に適応しています。すべてdict()ため"Sankey"ダイアグラムの問題

SyntaxError: unexpected EOF while parsing

:しかし、私はエラーを取得しています。

データ:https://drive.google.com/open?id=0BzIHBf19BxTbUktNcG1uSWtUOEE

コード:

import json, urllib 
import plotly.plotly as py 
import pandas as pd 
import numpy as np 

land_change = pd.read_csv(r'test.csv') 
land_change.head() 

data_trace = dict(
     type = 'sankey', 
     domain = dict(
       x = [0,1], 
       y = [0,1]), 
       orientation = "h", 
       valueformat = ".0f", 
       node = dict(
         pad = 10, 
         thickness = 30, 
         line = dict(
           color = "black",   
           width = 0.5), 
     label = land_change['Node, Label'].dropna(axis=0, how='any'), 
     color = land_change['Color']), 
    link = dict(
     source = land_change['Source'].dropna(axis=0, how='any'), 
     target = land_change['Target'].dropna(axis=0, how='any'), 
     value = land_change['Value'].dropna(axis=0, how='any'),)) 

layout = dict(
    title = "Land cover and use change for period 1990 - 2000 & 2000 - 2014.", 
    height = 772, 
    width = 950, 
    font = dict(
     size = 10 
    ),  
) 

fig = dict(data=[data_trace], layout=layout) 
py.iplot(fig, validate=False) 
+0

あなたが問題を再現するために、 'test.csv'またはいくつかの偽のデータを追加することはできますか? –

+2

意味のある方法でインデントした場合、コードははるかに理解しやすくなります。たとえば、 'orientation'は' domain' dictの一部であるかのように字下げされていますが、前の行でそのdictを実際に終えました。 – jasonharper

+0

このエラーはほとんどの場合、かっこがどこかにないためです。 @jasonharperによると、コードを正しくインデントすると、エラーを見つけるのに非常に役立ちます。また、その部分をコメントアウトして、どこで障害が止まるのか見てみることもできます。その場所にエラーをローカライズすることができます。 – darthbith

答えて

0

ここで私はそれを解決する方法である:

import plotly as py2 
import plotly.plotly as py 
from plotly.graph_objs import * 
import pandas as pd 

py.sign_in('user', 'pass') 

land_change = pd.read_csv(r'file') 
land_change.head() 

trace1 = { 
    "domain": { 
    "x": [0, 1], 
    "y": [0, 1] 
    }, 
"link": dict({ 
    #"label": ['stream 1', '', '', ''], 
    "source": land_change ['Source'].dropna(axis=0, how='any'), 
    "target": land_change ['Target'].dropna(axis=0, how='any'), 
    "value": land_change ['Value'].dropna(axis=0, how='any'), 
    " color": land_change ['Color'].dropna(axis=0, how='any') 
}), 
"node": dict({ 
    "color": land_change ['Node, Color'], 
    "label": land_change ['Node, Label'].dropna(axis=0, how='any'), 
    "line": { 
    "color": "black", 
    "width": 0.5 
}, 
    "pad": 0.5, 
    "thickness": 15 
    }), 
"orientation": "h", 
"type": "sankey", 
"valueformat": ".0f", 
"valuesuffix": "Ha" 
} 
data = Data([trace1]) 
layout = { 
    "font": {"size": 10}, 

} 
fig = Figure(data=data, layout=layout) 
#plot_url = py.plot(fig) 
py2.offline.plot(fig) 
py.image.save_as(fig, filename='') 

from IPython.display import Image 
Image('')` 
関連する問題