数据分析(R语言)——ggplot绘制多线图结果图颜色不匹配

2023-10-28 04:00

本文主要是介绍数据分析(R语言)——ggplot绘制多线图结果图颜色不匹配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述:

MelbCV.csv是墨尔本人行道监控数据的一个子集如下图,依据统计数据回答各个监控点一天的哪些时段是行人通过的高峰?所有监控点是否有一致的人流高峰时段?若有,是哪个(些)时段?哪个路口人流量最大?哪个路口人流量最小?依据什么得出的结论?人流量的最大值出现在哪个监控点的哪天的哪个时段?
下面是数据集:
在这里插入图片描述
下面是数据集的说明

colname含义类型唯一值个数众数
Date日期character30所有值出现频次相同
Year年份double1所有值出现频次相同,2012
Month月份double1所有值出现频次相同,9
Mdatedouble30所有值出现频次相同
Weekday_End表示周末或工作日,10代表工作日,20代表周末double2所有值出现频次相同,10,20
Day表示一周里的第几天,周日是第一天double71,7
Hour表示一天中的第几个小时double24所有值出现频次相同
Town_Hall-West在Town_Hall-West的人行道通过人数double61335
Collins Place-South在Collins Place-South的人行道通过人数double48510
Australia on Collins在Australia on Collins的人行道通过人数double49816
Bourke Street Mall-South在Bourke Street Mall-South的人行道通过人数double55212
Bourke Street Mall-North在Bourke Street Mall-North的人行道通过人数double5484
Melbourne Central在Melbourne Central的人行道通过人数double59832
Flagstaff Station在Flagstaff Station的人行道通过人数double39210
State Library在State Library的人行道通过人数double30824

下面是相关的部分代码:

alter<-MelbCV
alter[is.na(alter)]<-mean(MelbCV$`State Library`,na.rm=TRUE)#应用平均值
t_peak<-group_by(alter,Hour)%>%summarise(count=n(),mean1=mean(`Town_Hall-West`),mean2=mean(`Collins Place-South`),mean3=mean(`Australia on Collins`),mean4=mean(`Bourke Street Mall-South`),mean5=mean(`Bourke Street Mall-North`),mean6=mean(`Melbourne Central`),mean7=mean(`Flagstaff Station`),mean8=mean(`State Library`))
#col_fill<-factor(colnames(MelbCV[,8:15]))
ggplot(t_peak)+ylab("人数")+geom_line(aes(Hour,mean1,color="tomato"))+geom_line(aes(Hour,mean2,color="orange"))+geom_line(aes(Hour,mean3,color="mediumblue"))+geom_line(aes(Hour,mean4,color="purple"))+geom_line(aes(Hour,mean5,color="gold"))+geom_line(aes(Hour,mean6,color="hotpink"))+geom_line(aes(Hour,mean7,color="green"))+geom_line(aes(Hour,mean8,color="black"))+scale_x_continuous(breaks=seq(0:22))#scale_color_manual(values = c("tomato","orange","mediumblue","purple","gold","hotpink","green","black"),labels=as.vector(col_fill))

在这里插入图片描述
做出的图和我设定的颜色没有一毛钱关系

原因分析:

解决方案:

转载自知乎@陆壹肆
根据上面的文章,将上面的代码做了一些修改

alter<-MelbCV
alter[is.na(alter)]<-mean(MelbCV$`State Library`,na.rm=TRUE)#应用平均值
#t_peak里将count列删除了
t_peak<-group_by(alter,Hour)%>%summarise(mean1=mean(`Town_Hall-West`),mean2=mean(`Collins Place-South`),mean3=mean(`Australia on Collins`),mean4=mean(`Bourke Street Mall-South`),mean5=mean(`Bourke Street Mall-North`),mean6=mean(`Melbourne Central`),mean7=mean(`Flagstaff Station`),mean8=mean(`State Library`))
col_fill<-colnames(MelbCV[,8:15])
max_num<-apply(t_peak,2,FUN =  function(x) {max(x)
})
max_hour<-apply(t_peak,2,FUN =  function(x) {which.max(x)-1
})
#这里增加了将表格融合
library(reshape2)
long_peak <- melt(t_peak, id="Hour")#融合效果如下图一
ggplot(data=long_peak,aes(x=Hour, y=value, group=variable, color=variable))+geom_line()#输出效果如下

在这里插入图片描述
在这里插入图片描述

这篇关于数据分析(R语言)——ggplot绘制多线图结果图颜色不匹配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/290556

相关文章

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码