在R中修改饼图中轮廓的宽度——pie()的lwd参数的等效值是多少?
我正在使用在R中修改饼图中轮廓的宽度——pie()的lwd参数的等效值是多少?,r,R,我正在使用baseR绘图函数生成一个饼图,并希望更改每个饼图段轮廓的线条厚度?饼图似乎表明我可以添加可选的图形参数,但添加lwd=似乎不起作用。任何人都知道我是如何做到这一点的。我还不擅长在ggplot中生成饼图,我想继续使用baseR绘图(如果可能的话) 库(RColorBrewer) x1目前,实际绘制的饼图中的函数是多边形,其调用方式如下: polygon(c(P$x, 0), c(P$y, 0), density = density[i], angle = angle[i],
base
R绘图函数生成一个饼图,并希望更改每个饼图段轮廓的线条厚度<代码>?饼图似乎表明我可以添加可选的图形参数,但添加lwd=
似乎不起作用。任何人都知道我是如何做到这一点的。我还不擅长在ggplot
中生成饼图,我想继续使用base
R绘图(如果可能的话)
库(RColorBrewer)
x1目前,实际绘制的饼图
中的函数是多边形
,其调用方式如下:
polygon(c(P$x, 0), c(P$y, 0), density = density[i], angle = angle[i],
border = border[i], col = col[i], lty = lty[i])
请注意,没有lwd
参数,更重要的是没有..
参数来接受可能没有硬编码的参数
创建一个新的pie2函数。首先键入pie,复制代码并进行一些更改:
pie2 <-
function (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, lwd=1,...)
{
................
polygon(c(P$x, 0), c(P$y, 0), density = density[i], angle = angle[i],
border = border[i], col = col[i], lty = lty[i], lwd=lwd )
.................
}
pie2(x1$V1, labels=lbls1, col=tail(brewer.pal(3, 'PuBu'), n=2),
main=paste('My 3.1415'), cex=1.1, lwd=5)
pie2调用pie
中的polygon
和lines
不会通过..
或lwd
...
polygon(c(P$x, 0), c(P$y, 0), density = density[i], angle = angle[i],
border = border[i], col = col[i], lty = lty[i])
P <- t2xy(mean(x[i + 0:1]))
lab <- as.character(labels[i])
if (!is.na(lab) && nzchar(lab)) {
lines(c(1, 1.05) * P$x, c(1, 1.05) * P$y)
....
你读到馅饼的底部了吗?最重要的是,“饼图是显示信息的一种非常糟糕的方式。”请注意这个建议!!不管怎样,它明确指出图形参数只影响主标题和标签,我听说你是alexwhan。。。饼图是根据要求制作的。我必须选择与内部客户的斗争。:)
...
polygon(c(P$x, 0), c(P$y, 0), density = density[i], angle = angle[i],
border = border[i], col = col[i], lty = lty[i])
P <- t2xy(mean(x[i + 0:1]))
lab <- as.character(labels[i])
if (!is.na(lab) && nzchar(lab)) {
lines(c(1, 1.05) * P$x, c(1, 1.05) * P$y)
....
# save original settings
opar <- par(no.readonly = TRUE)
par(lwd = 2)
pie(x1$V1, labels=lbls1, col=tail(brewer.pal(3, 'PuBu'), n=2),
main=paste('My 3.1415'), cex=1.1)
par(lwd = 3)
# reset to original
par(opar)