R是Python中的gridExtra?

2024-10-08 20:21:13 发布

您现在位置:Python中文网/ 问答频道 /正文

R中,我们可以独立地绘制每个图,然后通过gridExtra这样的包轻松地排列所有或部分图。例如

p1 <- ggplot(aes(x1,y1), data=df) + geom_point()
p2 <- ggplot(aes(x2,y2), data=df) + geom_point()
p3 <- ggplot(aes(x3,y3), data=df) + geom_point()
p4 <- ggplot(aes(x4,y4), data=df) + geom_point()

我画了4张图,现在我只想把其中的两张放在一起做一些分析,这样我就可以了

^{pr2}$

我发现这对于我们任意组合和排列独立的图是非常方便的。然而,我们能用Python和{}做同样的事情吗?这里最大的问题是,我不知道有多少图表在手上,也不知道我想如何组合和排列它们。在


Tags: dfdata绘制aespointx1x2p2
1条回答
网友
1楼 · 发布于 2024-10-08 20:21:13

也许gridspec对你有用?我用它来显示/生成不同的报告和摘要

http://matplotlib.org/users/gridspec.html

如果不是,也许是一个简单的包装器,用于任意比较?在

import matplotlib.pyplot as plt

def compare(data, fig, rows, cols ):
    for i in range (0,len(data)):
        plt.figure(fig)
        plt.subplot(rows, cols, i+1)
        plt.plot(data[i])
    return

d1 = [1, 2, 3, 4]
d2 = [4, 3, 2, 1]
d3 = [4, 3, 3, 1]
d4 = [3, 4, 1, 2]
data = [d2,d1,d4]

# compare 4 horizontally
compare([d1, d2, d3, d4], fig=1, rows=1, cols=4)
# compare 4 vertically
compare([d1, d2, d3, d4], fig=2, rows=4, cols=1)
# compare 2 vertically
compare([d2, d3], fig=3, rows=2, cols=1)
# compare 3 horizontally
compare([d1, d2, d4], fig=4, rows=1, cols=3)
# compare 3 vertically
compare(data, fig=5, rows=3, cols=1)
plt.tight_layout()
plt.show()

相关问题 更多 >

    热门问题