首页 > 解决方案 > 如何将熊猫图转换为图像

问题描述

我正在开发一个能够显示公司股票表现图表的应用程序,我想将该公司的熊猫图转换为图像而不保存它。有人可以告诉我该怎么做吗?

from fastquant import get_pse_data
import matplotlib.pyplot as plt
import pandas as pd
    
df = get_pse_data(symbol, '2019-01-01', '2020-01-01')
ma30 = df.close.rolling(30).mean()
close_ma30 = pd.concat([df.close, ma30], axis=1).dropna()

我实际上正在考虑将这个从熊猫数据框派生的图添加close_ma30 = pd.concat([df.close, ma30], axis=1).dropna()到我的 html 代码中:

在此处输入图像描述

我想创建一个 python 函数,它允许我将它作为 django 代码的图像返回。感谢您的帮助!

标签: pythondjangopandasmatplotlib

解决方案


您可以使用Dataframe-image将熊猫图转换为图像,您可以访问https://pypi.org/project/dataframe-image/。dataframe_image 能够从 Python 脚本中将普通和样式化的 DataFrame 导出为图像。将您的普通或样式化 DataFrame 连同文件位置一起传递给导出函数,以将其保存为图像。

>>> import dataframe_image as dfi
>>> dfi.export(df_styled, 'df_styled.png')

您也可以分别使用 dfi.export 和 export_png 方法直接从 DataFrame 或样式化 DataFrame 导出。

>>> df.dfi.export('df.png')
>>> df_styled.export_png('df_styled.png)

作为 Python 库 ,Dataframe_image 也可以在笔记本之外用作普通 Python 库。在单独的 Python 脚本中,导入 dataframe_image 包并将笔记本的文件名传递给 convert 函数。

>>> import dataframe_image as dfi
>>> dfi.convert('path/to/your_notebook.ipynb',
                to='pdf',
                use='latex',
                center_df=True,
                max_rows=30,
                max_cols=10,
                execute=False,
                save_notebook=False,
                limit=None,
                document_name=None,
                table_conversion='chrome'
                chrome_path=None,
                latex_command=None,
                output_dir=None,
                )

默认情况下,新文件将保存在笔记本所在的同一目录中。不要在要转换的同一笔记本中运行此命令。

从命令行 命令行工具 dataframe_image 将在安装时可用,其选项与上面的转换功能相同。

dataframe_image --to=pdf "my notebook with dataframes.ipynb"

查找 Google Chrome 您必须安装 Google Chrome(或 Brave)才能使 dataframe_image 正常工作。应该会自动找到 Chrome 的路径。如果 Chrome 不在标准位置,请使用 chrome_path 参数进行设置。

使用 matplotlib 代替 Chrome 如果您没有安装 Chrome 或无法使其正常工作,您也可以使用 matplotlib 将 DataFrames 转换为图像。通过将 table_conversion 参数设置为“matplotlib”来选择此选项。

发布到 Medium 与此软件包密切相关的是 jupyter_to_medium,它可以直接快速地将您的笔记本发布为 Medium 博客文章。

依赖项 您必须安装以下 Python 库。


推荐阅读