gpt4 book ai didi

python - 从大型数据集逐步构建箱线图

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:34 26 4
gpt4 key购买 nike

假设我有 4 个文件作为 .npz 文件保存在我的计算机上:W、X、Y 和 Z。让我们假设我的计算机在 RAM 消耗方面无法承受同时加载多个。

我怎样才能运行这个命令? :

 matplotlib.pyplot.boxplot([W],[X],[Y],[Z])

换句话说,我如何加载 W、绘制 W、删除 W,然后加载 Y、绘制 Y、删除 Y,...并将其中的 4 个放在同一个图形上? (而不是子图)

谢谢!

最佳答案

matplotlib.axes.boxplot函数实际上在幕后调用了两个函数。一种用于计算必要的统计数据 (cbook.boxplot_stats),另一种用于实际绘制绘图 (matplotlib.axes.bxp)。您可以通过为每个数据集调用第一个(通过一次加载一个)然后将结果提供给绘图函数来利用此结构。

在下面的这个例子中,我们有 3 个数据集并迭代它们以收集 cbook.boxplot_stats 的输出(它只需要很少的内存)。之后调用 ax.bxp 创建图形。 (在您的应用程序中,您将迭代加载一个文件,使用 boxplot_stats 并删除数据)

import matplotlib.cbook as cbook
import matplotlib.pyplot as plt
import numpy as np


x = np.random.rand(10,10)
y = np.random.rand(10,10)
z = np.random.rand(10,10)

fig, ax = plt.subplots(1,1)

bxpstats = list()
for dataset, label in zip([x, y, z], ['X', 'Y', 'Z']):
bxpstats.extend(cbook.boxplot_stats(np.ravel(dataset), labels=[label]))
ax.bxp(bxpstats)
plt.show()

结果:

enter image description here

关于python - 从大型数据集逐步构建箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29895754/

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