Plotly中如何保存jpeg等图片?

Plotly中如何保存jpeg等图片?

大家好,我是 Lemon 。
如本文开头的专辑所示,在过去的一段时间里,我写了一些用 Python 的交互式可视化工具 Plotly 来进行数据分析的文章。
有不少同学都问到如何保存 Plotly 中的图片,今天 Lemon 来跟大家分享下如何保存静态图片,比如 png、jpeg、svg 等。

保存静态图片的方法

在 Plotly 中保存静态图片,需要安装 3 个依赖包才可以,分别是 orca 、 psutil 、 和 requests 。
在安装上述依赖包时,需要用到 conda 管理工具,安装命令如下:

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,安装命令如下:

pip install yfinance

本项目案例是在 vs code,Pycharm 等环境中运行,Python 环境版本及其他主要工具如下:

  • Python 3.7
  • pandas version: 1.0.3
  • plotly version: 4.5.0
    本项目案例的代码如下:
# -*- 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---------
Plotly中如何保存jpeg等图片?

猜你喜欢

转载自blog.51cto.com/15064628/2599801