如何使饼图在R中变大而不被截断?

7ivaypg9  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(131)

我目前正在尝试用pie()函数做一个饼图。我怎样才能使它更大呢?我试过radius = 1.2,但这最终切断了图表的顶部和底部(见附图)。我怎样才能使它更大,而不是切断呢?下面是我的代码:

explicitProp <- c(as.numeric(summary(ts$explicit)[[2]]), 
                  as.numeric(summary(ts$explicit)[[3]]))

pie(explicitProp, 
    labels = c("93.95%", "6.04%"),
    col = c("#bc5090", "#003f5c"),
    main = "Explicit vs. Clean Songs in Taylor Swift's Discography",
    radius = 1
    )
legend("topright", c("Clean", "Explicit"), fill = c("#bc5090", "#003f5c"))

另外,我知道饼图通常不受欢迎。但是,当比较两个结果时,饼图似乎是条形图的更好选择。我是否错过了另一种更好地服务于我的目标的可视化形式?Pie Chart Cut Off w/Radius > 1

9gm1akwq

9gm1akwq1#

基本图形中的pie()函数是一个简单的绘图,手册页实际上建议您不要使用它:“饼图是显示信息的一种非常糟糕的方式。”饼图的标准半径基于绘图中的可用空间。如果绘图窗口的横向宽度大于纵向宽度,则半径将调整为纵向空间减去默认边距。默认边距为c(5.1,4.1,4.1,2.1)行在底部,左侧,顶部,右侧,为标题和轴标签留出空间。这里有一些例子让事情更清楚。

par(mfrow=c(2, 2))   # Divide plot into 4 quarters
pie(c(7, 83, 33, 37, 14))  # Upper left, default plot, radius=0.8
pie(c(7, 83, 33, 37, 14), radius=1.05)  # Upper right, slightly larger
par(mar=c(0, 0, 0, 0))     # Remove default margins
pie(c(7, 83, 33, 37, 14))  # Same plot as upper left, but no margins
pie(c(7, 83, 33, 37, 14), radius=1.05)  # Same plot as upper right without margins

请注意,右下角饼图中的一些标签被截断。

相关问题