「原创声明:保留所有权利,禁止转载」
本人在学习使用 Python 和 plotly 处理数据的过程中,发现了官网教程和网上一些教程无法正常使用的情况,可能是因为更新导致的,所以我在尝试成功之后想自己写一个教程,便有了下面的文章。如果错误的地方,还请大神指正。我的 Python 版本是 2.7,Mac 机器。Python 的 IDE 是 pycharm。本教程主要还是依据官网教程 + 翻译实践。
首先是安装 plotly,这个比较简单,网上其他教程也没什么错误,提供一个方法,使用 pip 安装。
$ 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 官网传送门
下面是我的个人中心截图:
然后,需要去本机确认是否成功,文件地址如下:
~/.plotly/.credentials
我的文件内容如下:
这些完成之后,就可以轻松地开始代码操作了。
如果你使用不是本地,而是在线的话,那么你还得再交互模式下设置几个地方,下面就放一下官网的内容:
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#必须
下面放一张我本地的图标,我并没有直接在代码里保存图片,只是放了一张截图。
往期文章精选
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。