R之条形图

> chooseCRANmirror()
> install.packages("vcd")  #vcd包是探索类风湿性关节炎新疗法研究的结果,我们使用它的数据
试开URL’https://cloud.r-project.org/bin/windows/contrib/3.3/vcd_1.4-3.zip'
Content type 'application/zip' length 1266364 bytes (1.2 MB)
downloaded 1.2 MB

程序包‘vcd’打开成功,MD5和检查也通过

下载的二进制程序包在
        C:\Users\Administrator\AppData\Local\Temp\RtmpK6ZKXL\downloaded_packages里

> library(vcd)
载入需要的程辑包:grid
> counts <- table(Arthritis$Improved)
> counts 

  None   Some Marked 
    42     14     28 
> barplot(counts,    #简单条形图
+ main="Simple Bar Plot",
+ xlab="Improvement",ylab="Frequency")
> 

这里写图片描述

> barplot(counts,             #水平条形图
+ main="Horizontal Bar Plot",
+ xlab="Frequency",ylab="Improvement",
+ horiz=TRUE)
> 

这里写图片描述

堆砌条形图

> library(vcd)
> counts <- table(Arthritis$Improved,Arthritis$Treatment)
> counts

         Placebo Treated
  None        29      13
  Some         7       7
  Marked       7      21

> dev.new()
> barplot(counts,main="Stacked Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red","yellow","blue"),legend=rownames(counts))
> 

这里写图片描述

分组条形图

> barplot(counts,main="Grouped Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red","yellow","green"),legend=rownames(counts),beside=TRUE)

这里写图片描述

### R语言绘制条形图的方法 在R语言中,可以使用`barplot()`函数或者`ggplot2`包中的`geom_bar()`函数来绘制条形图。以下是两种方法的具体实现方式。 #### 方法一:使用 `barplot()` 函数 这是R语言内置的一种绘图工具,适合快速生成基础的条形图。下面是一个完整的代码示例: ```r # 假设有一个数据框 sales_data 包含两列:Product 和 Sales sales_data <- data.frame( Product = c("A", "B", "C", "D"), Sales = c(200, 350, 400, 180) ) # 使用 barplot() 绘制条形图 barplot(sales_data$Sales, names.arg = sales_data$Product, xlab = "产品名称", ylab = "销售量", main = "各产品的销售情况", col = "blue", border = "black", ylim = c(0, max(sales_data$Sales) + 100)) [^1] ``` 此代码会生成一个垂直条形图,展示不同产品的销售量分布。 --- #### 方法二:使用 `ggplot2` 包 如果希望获得更美观、可定制性更强的图表,则推荐使用`ggplot2`包。以下是一个水平条形图的例子: ```r # 安装并加载 ggplot2 包(如果尚未安装) if (!require(ggplot2)) install.packages("ggplot2") library(ggplot2) # 数据准备 Arthritis <- data.frame( Improved = factor(c("None", "Some", "Marked"), levels=c("None", "Some", "Marked")), Frequency = c(28, 57, 79) ) # 绘制水平条形图 ggplot(Arthritis, aes(x = Improved, y = Frequency)) + geom_bar(stat = "identity", fill = "skyblue") + labs(title = "改善程度频率统计", x = "改善程度", y = "频数") + coord_flip() [^4] ``` 这段代码通过`coord_flip()`实现了水平方向上的条形显示效果,并且支持更多自定义选项。 --- ### 总结 无论是采用简单快捷的基础绘图法还是灵活强大的`ggplot2`库,都可以满足不同的需求场景。对于初学者来说,建议先掌握好`barplot()`的基本语法;而对于追求高质量可视化的人群而言,学习`ggplot2`将是更好的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值