Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7c3ca42

Browse files
committed
Update plotly.py
1 parent 3078329 commit 7c3ca42

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

plotly/plotly.py

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ def signup(un, email):
1616
'''
1717
payload = {'version': __version__, 'un': un, 'email': email, 'platform':'Python'}
1818
r = requests.post('https://plot.ly/apimkacct', data=payload)
19+
r.raise_for_status()
1920
r = json.loads(r.text)
20-
if 'error' in r.keys():
21-
if not r['error'] == '':
22-
print(r['error'])
23-
if 'warning' in r.keys():
24-
print(r['warning'])
25-
if 'message' in r.keys():
21+
if 'error' in r and r['error'] != '':
22+
print(r['error'])
23+
if 'warning' in r and r['warning'] != '':
24+
warnings.warn(r['warning'])
25+
if 'message' in r and r['message'] != '':
2626
print(r['message'])
2727

2828
return r
@@ -36,13 +36,18 @@ def __init__(self, username=None, key=None,verbose=True):
3636
self.__filename = None
3737
self.__fileopt = None
3838
self.verbose = verbose
39+
self.open = True
40+
41+
def ion(self):
42+
self.open = True
43+
def ioff(self):
3944
self.open = False
4045

4146
def iplot(self, *args, **kwargs):
4247
''' for use in ipython notebooks '''
4348
res = self.__callplot(*args, **kwargs)
4449
width = kwargs.get('width', 600)
45-
height = kwargs.get('height', 600)
50+
height = kwargs.get('height', 450)
4651
s = '<iframe height="%s" id="igraph" scrolling="no" seamless="seamless" src="%s" width="%s"></iframe>' %\
4752
(height+50, "/".join(map(str, [res['url'], width, height])), width+50)
4853
try:
@@ -59,7 +64,7 @@ def iplot(self, *args, **kwargs):
5964

6065
def plot(self, *args, **kwargs):
6166
res = self.__callplot(*args, **kwargs)
62-
if res['error'] == '' and self.open:
67+
if 'error' in res and res['error'] == '' and self.open:
6368
from webbrowser import open as wbopen
6469
wbopen(res['url'])
6570
return res
@@ -69,7 +74,7 @@ def __callplot(self, *args, **kwargs):
6974
Two interfaces:
7075
1 - ploty.plot(x1, y1[,x2,y2,...],**kwargs)
7176
where x1, y1, .... are lists, numpy arrays
72-
2 - plot.plot([data1, ...], **kwargs)
77+
2 - plot.plot([data1[, data2, ...], **kwargs)
7378
where data1 is a dict that is at least
7479
{'x': x1, 'y': y1} but can contain more styling and sharing options.
7580
kwargs accepts:
@@ -83,14 +88,14 @@ def __callplot(self, *args, **kwargs):
8388
:param r['filename']: The filename of the plot in your plotly account.
8489
'''
8590

86-
un = kwargs['un'] if 'un' in kwargs.keys() else self.un
87-
key = kwargs['key'] if 'key' in kwargs.keys() else self.key
91+
un = kwargs['un'] if 'un' in kwargs else self.un
92+
key = kwargs['key'] if 'key' in kwargs else self.key
8893
if not un or not key:
8994
raise Exception('Not Signed in')
9095

91-
if not 'filename' in kwargs.keys():
96+
if not 'filename' in kwargs:
9297
kwargs['filename'] = self.__filename
93-
if not 'fileopt' in kwargs.keys():
98+
if not 'fileopt' in kwargs:
9499
kwargs['fileopt'] = self.__fileopt
95100

96101
origin = 'plot'
@@ -208,6 +213,7 @@ def __makecall(self, args, un, key, origin, kwargs):
208213
url = 'https://plot.ly/clientresp'
209214
payload = {'platform': platform, 'version': __version__, 'args': args, 'un': un, 'key': key, 'origin': origin, 'kwargs': kwargs}
210215
r = requests.post(url, data=payload)
216+
r.raise_for_status()
211217
r = json.loads(r.text)
212218
if 'error' in r and r['error'] != '':
213219
print(r['error'])

0 commit comments

Comments
 (0)