你們好,我是 Lemon 。
如本文開頭的專輯所示,在過去的一段時間裏,我寫了一些用 Python 的交互式可視化工具 Plotly 來進行數據分析的文章。
有很多同窗都問到如何保存 Plotly 中的圖片,今天 Lemon 來跟你們分享下如何保存靜態圖片,好比 png、jpeg、svg 等。html
在 Plotly 中保存靜態圖片,須要安裝 3 個依賴包才能夠,分別是 orca 、 psutil 、 和 requests 。
在安裝上述依賴包時,須要用到 conda 管理工具,安裝命令以下:web
conda install -c plotly plotly-orca==1.2.1 psutil requests
正常狀況下,經過上述命令後,應該會安裝成功。
我本身安裝的時候,發現有由於網絡延遲緣由,安裝失敗的狀況。若是遇到安裝失敗,能夠多試幾回,或者更換網絡。
上面的安裝命令中, orca 須要經過 conda 管理工具來安裝。
psutil 和 requests 能夠經過 pip 命令來安裝:瀏覽器
pip install psutil requests
在上述依賴包安裝成功後,咱們可使用 write_image 方法來保存靜態圖片,支持的圖片格式包括 png、jpeg、svg、webp、pdf、eps 等。
下面,Lemon 經過一個項目案例來給你們展現下靜態圖片的保存。網絡
這個案例,主要是經過獲取標普500指數數據,對標普500的走勢進行可視化,並將展現結果的圖片進行保存。
本文的數據來自開源項目 yfinance,你們在運行案例中的代碼時,須要先安裝 yfinance,安裝命令以下:ide
pip install yfinance
本項目案例是在 vs code,Pycharm 等環境中運行,Python 環境版本及其餘主要工具以下:svg
# -*- coding: utf-8 -*- """ @Author: Lemon @出品:Python數據之道 @Homepage: liyangbit.com """ import pandas as pd import plotly.graph_objs as go import plotly from datetime import datetime import yfinance as yf import os pyplt = plotly.offline.plot # 若是項目路徑下沒有 "images" 文件夾,則建立該文件夾 if not os.path.exists("images"): os.mkdir("images") # 若是項目路徑下沒有 "htmls" 文件夾,則建立該文件夾 if not os.path.exists("htmls"): os.mkdir("htmls") date_end = datetime.today().strftime('%Y-%m-%d') # yfinance, 標準普爾500指數 雅虎的代碼是 ^GSPC # 在其餘地方,標準普爾500指數,代碼一般是 SPX data_spx = yf.download('^GSPC', start='1950-01-01', end=date_end) # plotly,基礎圖 trace0 = go.Scatter(x=data_spx.index, y=data_spx['Close'], mode='lines', marker=dict(color='#d66101'), # 設置K線顏色 ) data = [trace0] fig_spx = go.Figure(data=data) fig_spx.update_layout(template='ggplot2') fig_spx.update_layout(title=dict(text='價值前瞻-SPX', font=dict(size=24, color='#d66101'), x=0.5)) # 保存靜態圖片 fig_spx.write_image('images/spx.png') # 在瀏覽器中輸出結果 pyplt(fig_spx, filename='htmls/export-image.html')
上述案例中,是以保存 png 爲示例,其餘格式的靜態圖片,各位能夠本身去試試。工具
---------End---------code