本人在学习使用Python和plotly处理数据的过程当中,发现了官网教程和网上一些教程没法正常使用的状况,多是由于更新致使的,因此我在尝试成功以后想本身写一个教程,便有了下面的文章。若是错误的地方,还请大神指正。个人Python版本是2.7,Mac机器。Python的IDE是pycharm。本教程主要仍是依据官网教程+翻译实践。java
首先是安装plotly,这个比较简单,网上其余教程也没什么错误,提供一个方法,使用pip安装。python
$ pip install plotly or $ sudo pip install plotly or update $ pip install plotly --upgrade
其次你得有个本身的帐号,plotly官网里面Python的地址以下: plotly官网传送门 而后进入交互模式进行以下操做:编程
import plotly plotly.tools.set_credentials_file(username='DemoAccount', api_key='lr1c37zw81')
这一步须要设置你的用户名和api私钥。若是尚未的请移步官网我的中心获取私钥。 plotly官网传送门json
下面是个人我的中心截图: 而后,须要去本机确认是否成功,文件地址以下:c#
~/.plotly/.credentials
api
个人文件内容以下:app
这些完成以后,就能够轻松地开始代码操做了。框架
若是你使用不是本地,而是在线的话,那么你还得再交互模式下设置几个地方,下面就放一下官网的内容:dom
import plotly plotly.tools.set_config_file(world_readable=False, sharing='private')
import plotly plotly.tools.set_config_file(plotly_domain='https://plotly.your-company.com', plotly_streaming_domain='stream-plotly.your-company.com')
具体的内容你们移步官网,本身翻译一下内容吧,这些都是隐私和权限的内容。 下面是个人Python代码:性能
#!/usr/bin/python # coding=utf-8 import plotly.plotly import random from plotly.graph_objs import * import plotly.graph_objs as abc#必须有个 listx = []; for i in range(20): listx.append(i) print listx listxx = listx listy = []; for i in range(20): listy.append(random.randint(12, 20)) print listy listyy = []; for i in range(20): listyy.append(random.randint(12, 20)) print listy data_1 = abc.Scatter( x=listx, y=listy ) date_2 = abc.Scatter( x=listxx, y=listyy ) data1 = Data([data_1, date_2]) plotly.offline.plot(data1)
下面是官网的测试代码:
import plotly.plotly as py from plotly.graph_objs import * trace0 = Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17] ) trace1 = Scatter( x=[1, 2, 3, 4], y=[16, 5, 11, 9] ) data = Data([trace0, trace1]) py.plot(data, filename = 'basic-line')
你们能够尝试一下官网的代码,我一直报错,不能经过,必须是在下面这行代码时才能使用 as代码。 import plotly.graph_objs as abc#必须
下面放一张我本地的图表,我并无直接在代码里保存图片,只是放了一张截图。