数据分析(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

相关文章

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy