gpt4 book ai didi

python - 导出带有完整数据的图或另存为脚本

转载 作者:行者123 更新时间:2023-11-28 17:51:39 30 4
gpt4 key购买 nike

我正在使用 python 和 matplotlib 从数据中创建图表,我想将这些图表保存在 pdf 文件中(但我也可以使用更具体的格式)。我基本上使用以下说明:

plt.plot(data)
figname = ''.join([filename, '_', label, '.pdf'])
plt.savefig(figname)

但是它所做的是创建一个绘图的图像,并放大显示它;我想创建一个副本来显示我正在绘制的所有点 (>10000),这样我就可以缩放到任何级别。哪种方法是正确的?

编辑:是否有一种格式(例如 Matlab 的“.fig”)可以使用我保存的数据直接调用 Matplotlib 的查看器?也许可以创建一个 .py 脚本来保存这些点,我可以调用它来快速重新显示它们?我认为这就是 .fig Matlab 文件所做的。

This is the detail of the plot exported as pdf

And this is what I would like to obtain, still being able to see the whole plot, that is bigger

最佳答案

我不知道包含您的数据的任何原生 Matplotlib 文件格式;事实上,我不确定 Matploblib 对象是否定义了写入函数。

为了模拟 Matlab .fig 概念,我所做的是保存处理后的数据(作为 numpy 数组或 pickled)并运行单独的 .py 脚本来重新创建 Matplotlib 图。

所以步骤:

  1. 处理您的数据并制作一些漂亮的图表,直到您完全满意为止
  2. 尽可能靠近绘图命令保存/挑选您处理过的数据(如果制作直方图需要很长时间,您甚至可能希望将数据存储到直方图中)
  3. 编写一个新脚本,在其中导入数据并从原始脚本复制/粘贴绘图命令

它有点笨拙,但它确实有效。如果你真的想要,你可以将腌制数据作为字符串嵌入到你的绘图脚本 ( Embed pickle (or arbitrary) data in python script ) 中。这让您受益于使用包含数据和绘图代码的单个 python 脚本。

编辑

您可以检查您存储的已处理数据文件是否存在,如果该文件存在则跳过处理步骤。所以:

if not processed_data.file exists:
my_data = process_raw_data()
else:
my_data = read_data_from_file(processed_data.file)

plot(my_data)

通过这种方式,您可以使用一个脚本来首先创建图形,然后使用预处理数据重新绘制图形。

如果您对处理脚本进行了某些更改并且不想手动删除已处理的数据文件,您可能希望添加一个运行时参数以强制重新处理数据。

关于python - 导出带有完整数据的图或另存为脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8726539/

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