python - matplotlib - 循环生成箱线图

标签 python matplotlib

我想在一个图中的一个轴上绘制多个箱线图。然而,我用于箱线图的数据太大,无法立即读入内存。所以我使用 pandas read_csv() 分块读取它。我想做的是在每次迭代中生成一些箱线图,并将迭代 i 中的新箱线图添加到与迭代 i-1 中的箱线图相同的图形中,而不保留迭代 i-1 的数据。

我想强调的是,我不需要更新现有箱线图的数据。这更像是我每次迭代都会得到一个新的数据列,我想在现有箱线图旁边显示该列的箱线图。

例如:说我有

df = pd.DataFrame(np.random.rand(100,2))

假设我只能一个接一个地阅读这些专栏。如何将第二列的箱线图添加到第一列的现有箱线图中以获得与 ax.boxplot(df.values) 相同的结果?

最佳答案

boxplot方法有一个 positions 参数。使用它,您可以保证在一个循环中,每个箱线图(或多个箱线图)都设置在它的位置。

这是一些代码:

In [17]: x = pds.DataFrame(np.random.randn(10, 10))
In [18]: fig = plt.figure()
In [19]: ax = plt.subplot(111)
In [20]: for i in range(10):
    ...:     ax.boxplot(x.ix[:,i].values, positions = [i])
    ...:     
In [21]: ax.set_xlim(-0.5, 9.5)
In [22]: plt.show()

关于python - matplotlib - 循环生成箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25786631/

相关文章:

python - plt.show() 在使用 Anaconda Python 的 OSX 上挂起

python - 如何使用 cartopy 和 matplotlib 屏蔽海洋中出现的数据

python - 为 PyJulia 编译和使用自定义系统镜像

python - 将字符串空格映射到单词列表?

python - 使用 Python NLTK 对大型 (>70MB) TXT 文件进行标记。串联并写入数据以流式传输错误

python - 如何使用 scikit 学习多类案例绘制 ROC 曲线?

python - sitk.GetArrayFromImage 返回空的 numpy 数组?

python - Dash,如何根据点击的按钮进行回调?

python - Kivy Python 函数类和时钟内容

python - opencv和matplotlib的颜色图之间有什么区别吗?