0

我是 matplotlib 的新手。我正在努力在第一个.plot调用中自定义我的情节元素。例如,ylabel有效,但xlabel无效。我希望我可以将savefig命令分开,以便我可以在第一个.plot调用和savefig调用之间添加/修改绘图元素(因为我在网上看到的所有示例似乎都是创建绘图然后分别修改元素,即行fplt.xlabel("Blah")

我注意到我在网上找到的很多绘图示例(用于折线图等)分别提供了所有 x 和 y 值,但我喜欢我使用的绘图技术,因为它自动使用高、低等来创建蜡烛。

那么为什么这段代码有效:

            fplt.plot(
                    dft,
                    type="candle",
                    style='charles',
                    addplot=extraPlot2,
                    ylabel=stock,
#                    xlabel="Blah", <= removed as doesn't work
                    figratio=(10, 6), volume=True,
                    savefig=dict(
                        fname=folder2,
                        bbox_inches="tight"
                    )
            )

但是这段代码没有(即使添加了哈希):

            fplt.plot(
                    dft,
                    type="candle",
                    style='charles',
                    addplot=extraPlot2,
                    ylabel=stock,
#                    xlabel="Blah", <= removed as doesn't work
                    figratio=(10, 6), volume=True,
            )
#            fplt.xlabel("Blah") <= would like to do this if I can get savefig to work
#           fplt.xticks(rotation=45) <= i'd also like to do stuff like this
            fplt.savefig(folder2)

我试过让fplt.plot成为一个变量并以此为目标,但没有运气。为任何糟糕的术语道歉,我对此很陌生。

编辑:下面添加的导入以供参考。而且我意识到为什么xlabel现在不起作用,因为我看到我正在导入它。

import datetime as dt
from matplotlib.pyplot import bar, xlabel
from numpy import False_, NaN
import pandas as pd
from pandas_datareader import data as pdr
import yfinance as yf
from tkinter import EXCEPTION, Tk
from tkinter.filedialog import askopenfilename
import os
from pandas import ExcelWriter
import mplfinance as fplt
from pathlib import Path
4

1 回答 1

0

您可以导入 Matplotlib pyplot 模块并使用gcf()("get current figure") 函数返回一个Figure对象。它是Figure具有方法的对象savefig()。例如,

from matplotlib import pyplot as plot

# your code here

fig = plt.gcf()  # gcf is "get current figure"
fig.savefig(folder2)

查看这个 mplfinance 问题,您还可以使用以下命令返回图形对象:

fig, axlist = fplt.plot(..., returnfig=True)

# save figure
fig.savefig(folder2)
于 2021-09-10T11:30:03.093 回答