R语言画饼图pie

在R语言中绘制饼图的函数为pie,其使用格式如下

Usage

pie(x, labels = names(x), edges = 200, radius = 0.8,
    clockwise = FALSE, init.angle = if(clockwise) 90 else 0,
    density = NULL, angle = 45, col = NULL, border = NULL,
    lty = NULL, main = NULL, ...)

参数解释

x 一个非负的数值型向量。x中的值决定了饼图中每个扇形的大小。

labels 用于给出每个扇区的标签。

edges : 绘制饼图时,饼图的外轮廓是由多边形近似表示的。理论上,edges的数值越大,饼图看上去越圆。

radius : R中的饼图绘制以radius为边的正方形中,取值范围为-1到1。取值-1时,默认0角度是从正左边逆时针开始,否则是从正右边逆时针开始。

clockwise : 逻辑值。指示绘制扇区时是逆时针方向排列(FALSE),还是顺时针方向排列(TRUE)。默认为逆时针。

init.angle : 开始绘制扇区时的初始角度。默认情况下,逆时针时,第一个扇区的开始边为0度(3点钟方向),并向逆时针方向展开。如果clockwise取值为TRUE时,第1个扇区的开始边为90度(12点钟方向),并向顺时针方向展开。

density : 阴影线的密度。如果设置该参数,且为正值,则饼图以阴影线进行填充,如为负值,且未指定每个扇区的颜色时,则整体为黑色,不能体现出分区来,如是0值,则没有填充色,也没有阴影线。

angle : 阴影线的斜率。默认为45度。

col : 一个颜色向量,用于给出扇区的填充色或阴影线的颜色(当设置了density参数时,就是阴影线的颜色)。

border : 每个扇区的边框颜色。

lty : 每个扇区的线型(0:无,1:实线;2:短划线;3:点线;4:点划线;5:长划线;6:双划线;)

main : 绘图的标题

1. 简单用法

# default name
pie(rep(1, 24), col = rainbow(24), radius = 0.9)
pie(c(0.3,0.5,0.2))

# name
pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)
names(pie.sales) <- c("Blueberry", "Cherry",
                      "Apple", "Boston Cream", "Other", "Vanilla Cream")
pie(pie.sales) # default colours

pie(c(Sky = 78, "Sunny side of pyramid" = 17, "Shady side of pyramid" = 5),
    init.angle = 315)

2. 加颜色,图注等

pie.sales <- c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)
names(pie.sales) <- c("Blueberry", "Cherry",
                      "Apple", "Boston Cream", "Other", "Vanilla Cream")
pie(pie.sales) # default colours
pie(pie.sales,clockwise = TRUE) # default colours

# 灰度图
pie(pie.sales, col = gray(seq(0.4, 1.0, length.out = 6)))
# 选定颜色
pie(pie.sales, col = c("purple", "violetred1", "green3",
                       "cornsilk", "cyan", "white"))
# 加图注
legend("topright",names(pie.sales),cex=0.85, fill=c("purple", "violetred1", "green3","cornsilk", "cyan", "white"))

# 加上一定角度的条纹
pie(pie.sales, density = seq(10,35,by=5), angle = 15 + 10 * 1:6)
pie(pie.sales, density = 30, angle = 15 + 10 * 1:6)
# density: 条纹密度
#angle:条纹角度
pie(pie.sales, density = 30, angle = 15 + 10 * 1:6,col = c("purple", "violetred1", "green3","cornsilk", "cyan", "white"))
# 加标题
pie(pie.sales, clockwise = TRUE, main = "pie(*, clockwise = TRUE)")
# 加线段
segments(0, 0, 0, 1, col = "red", lwd = 2)
# 加文字
text(0, 1, "init.angle = 90", col = "red")

3. 画三维饼图和扇形图

需要plotrix软件包。

pie3D(x, main, labels,explode, radius, height..)

参数

main:饼图主标题

labels:各个“块”的标签

explode:各个“块”之间的间隔,默认值为0

radius:整个“饼”的大小,默认值为1,0~1为缩小

height:饼块的高度,默认值为0.1

install.packages("plotrix")

library(plotrix)

x <- c(10,20,30,40,50)
label <- c("Alabama","Alaska", "Arizona", "Arkansas", "California")

pie3D(x,labels=label,radius=0.8,explode=0.05,main="PieChart of Countries")

# 保存图片
png(filename = "test.png",width = 1000,height = 800) 
fan.plot(x,labels = label, main="Fan Plot",col= terrain.colors(length(x)))#可使用函数内置的颜色
legend("bottomright",cex=0.6,label, fill= terrain.colors (length(x)))
dev.off()

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值