R语言中barplot函数绘图实现x轴标签的倾斜显示

Posted 小鲨鱼2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言中barplot函数绘图实现x轴标签的倾斜显示相关的知识,希望对你有一定的参考价值。

 

001、代码

dat <- c(3, 8, 2, 9, 4)
k <- barplot(dat,  axes = FALSE, ylim = c(-4, 10) ,names.arg = FALSE)
axis(2, at = seq(0, 10, 2))
label <- paste0("label", 1:5)
text(x = k, y = -1.5, labels = label, srt = 45)

绘图效果:

 

参考:http://www.360doc.com/content/17/0912/17/46931810_686548232.shtml

 

R语言作图之一

介绍

本文主要介绍R语言当中的几种基本的绘图函数。

条形图

条形图使用的函数是barplot(),详细的描述如下:

barplot(x, main, xlab, ylab, names.arg, col, ...)
  • x为需要展示的数据,可以是向量或矩阵;

  • main为图片的标题;

  • xlab为x轴的标题;

  • ylab为y轴的标题;

  • names.arg为每个bar的标签;

  • col为bar的颜色;

例子:

colors <- c("green", "orange", "brown")
months <- c("Mar", "Apr", "May", "Jun", "Jul")
regions <- c("East", "West", "North")

Values <- matrix(c(2,9,3,11,9,4,8,7,3,12,5,2,8,10,11),nrow = 3,ncol = 5,byrow = TRUE)

pdf(file="20200711_Demo_1.pdf")
barplot(Values,
main="Total Revenue",
names.arg=months,
xlab="Month",
ylab="Revenue",
col=colors)
legend("topleft", regions, cex=1.5, fill=colors)
dev.off()

箱型图

箱型图使用的函数是boxplot(),详细的描述如下:

boxplot(fomular, data, xlab, ylab, names, col, notch, varwidth, ...)
  • fomular为需要展示的变量;

  • data为数据帧;

  • names为box的标签;

  • notch为布尔型,当为TRUE时,表示为box添加凹形;

  • varwidth为布尔型,当为TRUE时,会根据每个组内被试量的多少调整box的宽度;

例子:

# 导入R内置的数据
input <- mtcars[,c('mpg','cyl')]

pdf("20200711_Demo_2_2.pdf")
boxplot(
mpg~cyl,
data=input,
xlab="Number of Cylinders",
ylab="Miles Per Gallon",
main="Mileage Data",
names=c("High", "Medium", "Low"),
notch=TRUE,
varwidth=TRUE
)
dev.off()

R语言作图之一

直方图

直方图使用的函数是hist(),详细的描述如下:

hist(x, xlab, ylab, color, border, xlim, ylim, ...)
  • border表示柱子的边框颜色;

  • xlim表示x轴的取值范围;

  • ylim表示y轴的取值范围;

例子:

v <-  c(9,13,21,8,36,22,12,41,31,33,19)

pdf("20200711_Demo_3.pdf")
hist(
v,
xlab="Weight",
col="blue",
border="black",
xlim=c(0, 50),
ylim=c(0, 5)
)
dev.off()

R语言作图之一

折线图

折线图使用的函数是plot(),具体描述如下:

plot(x, type, main, xlab, ylab, col, ...)
  • type表示折线的类型,有三种取值("p":绘制点,"|":绘制线,"o":绘制点和线)

如果需要在同一个图中绘制多条折线,需要使用lines(),参数与plot类似。

例子:

v <- c(7,12,28,3,41)
t <- c(14,7,6,19,3)

pdf(file="20200711_Demo_4.pdf")

plot(
v,
type = "o",
col = "red",
xlab = "Month",
ylab = "Rain fall",
main = "Rain fall chart"
)

lines(
t,
type = "o",
col = "blue"
)

dev.off()

R语言作图之一

散点图

散点图使用的函数也是plot(),区别在于绘制散点图时,需要两个向量。

input <- mtcars[,c('wt','mpg')]

pdf(file = "20200711_Demo_6.pdf")
plot(
x = input$wt,
y = input$mpg,
xlab = "Weight",
ylab = "Milage",
xlim = c(2.5,5),
ylim = c(15,30),
main = "Weight vs Milage"
)
dev.off()

饼状图

饼状图使用的函数是pie(),具体描述如下:

pie(x, labels, main, col, radius, ...)
  • labels为每个色块的标签;

  • radius为饼图的半径;

例子:

x <-  c(21, 62, 10,53)
labels <- c("London","New York","Singapore","Mumbai")
piepercent<- round(100*x/sum(x), 1)

pdf(file = "20200711_Demo_5.pdf")

pie(
x,
labels = piepercent,
main = "City pie chart",
col = rainbow(length(x)),
radius=0.3
)
legend(
"topright",
c("London","New York","Singapore","Mumbai"),
cex = 0.8,
fill = rainbow(length(x))
)

dev.off()

3D饼图需要使用软件包plotrix有一个名为pie3D()的函数。

参考

[1] https://www.w3cschool.cn/r


以上是关于R语言中barplot函数绘图实现x轴标签的倾斜显示的主要内容,如果未能解决你的问题,请参考以下文章

r语言 条形图上有数值

R语言低级绘图函数-axis

新手:R语言的heatmap的制作问题

如何使用三列在 R 中制作堆叠条形图,我想使用 barplot() 函数

R语言barplot柱状图+散点图+误差棒

如何使用R中的绘图功能更改散点图中x轴和y轴标签的字体大小和颜色?