本人在學習使用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#必須
下面放一張我本地的圖表,我並無直接在代碼裏保存圖片,只是放了一張截圖。