我想在一个轴上绘制一个图中的几个箱形图.但是,我用于箱图的数据太大而无法立即读入内存.所以我使用pandas read_csv()以块的形式阅读它.我想做的是在每次迭代中产生一些箱图,并将迭代i中的新箱图添加到与迭代i-1的箱图相同的图中,而不是继续迭代i-1的数据.
我想强调一点,我不需要更新现有箱图的数据.这更像是每次迭代都得到一个新的数据列,我想在现有的boxplot旁边显示该列的boxplot.
例如:说我有
df = pd.DataFrame(np.random.rand(100,2))
Run Code Online (Sandbox Code Playgroud)
假设我只能一个接一个地读取列.如何将第二列的boxplot添加到第一列的现有boxplot中,以获得与ax.boxplot(df.values)相同的结果?
该箱线图方法有一个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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5443 次 |
| 最近记录: |