gpt4 book ai didi

python - 如何将绘图分配给变量并将该变量用作 Python 函数中的返回值

转载 作者:太空狗 更新时间:2023-10-29 22:22:39 25 4
gpt4 key购买 nike

我正在创建两个 Python 脚本来为技术报告生成一些图表。在第一个脚本中,我定义了从我硬盘上的原始数据生成图表的函数。每个函数都会生成我需要的一种特定类型的图。第二个脚本更像是一个批处理文件,它应该围绕这些函数循环并将生成的图存储在我的硬盘上。

我需要的是一种用 Python 返回绘图的方法。所以基本上我想这样做:

fig = some_function_that_returns_a_plot(args)
fig.savefig('plot_name')

但我不知道如何使绘图成为我可以返回的变量。这可能吗?是这样,怎么样?

最佳答案

你可以像这样定义你的绘图函数

import numpy as np
import matplotlib.pyplot as plt

# an example graph type
def fig_barh(ylabels, xvalues, title=''):
# create a new figure
fig = plt.figure()

# plot to it
yvalues = 0.1 + np.arange(len(ylabels))
plt.barh(yvalues, xvalues, figure=fig)
yvalues += 0.4
plt.yticks(yvalues, ylabels, figure=fig)
if title:
plt.title(title, figure=fig)

# return it
return fig

然后像这样使用它们

from matplotlib.backends.backend_pdf import PdfPages

def write_pdf(fname, figures):
doc = PdfPages(fname)
for fig in figures:
fig.savefig(doc, format='pdf')
doc.close()

def main():
a = fig_barh(['a','b','c'], [1, 2, 3], 'Test #1')
b = fig_barh(['x','y','z'], [5, 3, 1], 'Test #2')
write_pdf('test.pdf', [a, b])

if __name__=="__main__":
main()

关于python - 如何将绘图分配给变量并将该变量用作 Python 函数中的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21489111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com