R中的情节图像标签

时间:2013-01-08 20:56:37

标签: r label pie-chart labels

我正在使用 R 从数据库中检索数据并生成一些不错的图表。特别是,当我按如下方式生成饼图时,我可以看到:

library(plotrix)
library(RODBC)
channel<-odbcConnect("MySql")
sqlQuery(channel,"use mydb")
res <-sqlQuery(channel, "SELECT categorystats.name categorystats.totalclick FROM categorystats")

png(filename="pie.png", width=800, height=800)

slices <- res$totalclick
lbls <- res$name
pct <- round(slices/sum(slices)*100)    
lbls <- paste(lbls, pct) # add percents to labels
lbls <- paste(lbls,"%",sep="") # add % to labels
pie3D(slices,labels = lbls,explode=0.1,main="Categorie di prodotti più visitate") 

dev.off()
odbcClose(channel)

我获得了以下饼图:plot

不幸的是,图像中没有显示某些标签。

是否存在这样的命令,用于使饼图和相关标签符合图像大小?

1 个答案:

答案 0 :(得分:2)

如果没有可重复的例子,我无法提供明确的答案,但这里有几件事要尝试:

1)缩小馅饼的大小,为标签留出更多空间。您可以通过在radius=0.8的调用中添加pie3D(或适合您的任何值)来执行此操作。这可能足以解决您的问题。

2)使用边距进行游戏,看看是否可以为标签创造更多空间。您可以通过向mar=c(bottom, left, top, right)电话添加pie3D来执行此操作。每个值都是以行数给出的边距大小。

3)您的标签已经有点小了,但您可以通过将labelcex=0.9(或适用于您的任何缩放系数)添加到pie3D调用来缩小标签。

4)您还可以使用labelpos来电中的pie3D来播放标签位置。在pie3D的帮助中使用示例来了解其工作原理。

我将完成一些不请自来的建议(“建议是生活中的电梯音乐”我的大学校长在毕业时告诉我们,然后继续给我们一些建议):饼图是一种糟糕的方式显示数据,因为很难辨别不同切片区域的差异。透视饼图仅通过扭曲不同切片的相对区域而使其变差。将3D添加到2D对象使得比较切片区域变得更加困难。如果必须使用饼图,请考虑切换到面朝上(圆形)的二维饼图。