r - 使用分类数据创建折线图
问题描述
试图在检查年份显示“成绩”,而计数只是数据框中的观察结果。
创建快速表:
table(mydata1$Grade,mydata1$Inspection.Year)
创建快速条形图:
ggplot(mydata1, aes(fill=Grade , x=Inspection.Year)) +
geom_bar()
我想用折线图做同样的事情,但没有运气
ggplot(mydata1, aes(fill=Grade , x=Inspection.Year)) +
geom_line()
有什么想法吗?
谢谢!
解决方案
假设您的数据如下所示:
mydata1 = data.frame(
Inspection.Year=sample(2000:2005,100,replace=TRUE),
Grade=sample(LETTERS[1:3],10,replace=TRUE))
您需要计算计数并将它们绘制在 y 轴上,如下所示:
library(dplyr)
mydata1 %>% count(Inspection.Year,Grade)
# A tibble: 17 x 3
Inspection.Year Grade n
<int> <fct> <int>
1 2000 A 11
2 2000 B 6
3 2000 C 1
4 2001 A 8
并绘制这个:
mydata1 %>% count(Inspection.Year,Grade) %>%
ggplot()+geom_line(aes(x=Inspection.Year,y=n,col=Grade))
或者类似于 geom_bar 中的“填充”,您设置 y=1,并使用 stat_summary 对每个年级/年的 1 求和,这将为您提供 n:
ggplot(mydata1, aes(col=Grade , x=Inspection.Year,y=1))+ stat_summary(geom="line",fun.y=sum)
两者都给出了下面的图:
推荐阅读
- python - 值误差,使用VGG16的图像归一化误差,人脸识别和检测项目
- python-3.x - 无法初始化到 serial@/dev/ttyUSB0:telosb 的串行连接
- reactjs - 使用带有反应的 Wordpress 联系表格 7
- javascript - Selenium Python,如何让 execute_async_script() 返回 true 或 false
- postgresql - pgbackrest 多主机服务器
- twig - 如何区分这两个值?Twig 返回 sql 组 concat
- python - 在 azure synapse 中存储一个简单的字符串作为文本文件(到数据湖 gen2)
- sql - 在 Snowflake 和 SQL 中合并完整和不完整的数据帧
- neural-network - 在图卷积神经网络中,内核及其大小到底是什么?
- javascript - 第一次取消 Angular 12 应用程序时,window.Print() 函数在 Microsoft Edge(版本 91.0.864.59)中不起作用