You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Finplot绘制的单张或多张图表保存为PDF文件?

解决Finplot图表保存为PDF的方法

Finplot基于PyQt5开发,你可以通过两种方式将绘制的OHLC图表保存为PDF:

方法一:手动通过窗口菜单保存

Finplot弹出的独立图表窗口自带打印/导出功能,直接操作即可:

  • 点击窗口左上角的菜单栏(部分系统需右键窗口标题栏调出菜单)
  • 选择「Print...」选项,在弹出的对话框中选择「Save as PDF」作为输出目标,设置保存路径后完成导出。

方法二:通过代码自动保存

如果需要无需手动操作,用代码实现自动保存,可借助PyQt的打印模块完成。修改你的代码如下:

import finplot as fplt
import yfinance as yf
import pandas as pd
from PyQt5.QtPrintSupport import QPrinter

symbol="aapl"
aapl= yf.Ticker(symbol)
aapl_historical = aapl.history(start="2023-10-28", end="2023-11-29", interval="1d")
prices=aapl_historical 

z3=prices.copy(deep=True)
z3['Date']=z3.index
z3['Date1']= pd.to_datetime(z3['Date'])
z3=z3.reset_index(drop=True)
fplt.candlestick_ochl(z3[['Date1','Open','Low','High','Close']])

# 获取Finplot的主窗口对象
win = fplt.get_current_widget().window()

# 配置PDF输出参数
printer = QPrinter(QPrinter.HighResolution)
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOutputFileName('aapl_ohlc.pdf')  # 设置PDF保存路径和文件名

# 执行保存操作
win.print(printer)

# 若需手动选择保存路径,可替换为以下代码:
# from PyQt5.QtPrintSupport import QPrintDialog
# dialog = QPrintDialog(printer)
# if dialog.exec_() == QPrintDialog.Accepted:
#     win.print(printer)

fplt.show()

注意事项

  • 确保环境已安装PyQt5,若未安装可执行pip install pyqt5完成安装
  • 在Spyder中运行时,自动保存逻辑会在弹出图表窗口前执行,不影响窗口显示

内容的提问来源于stack exchange,提问作者rumrum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:12:38