R语言实战-如何分析QQ群记录2-每日信息数量图

本文介绍了一种利用R语言中的ggplot2包来绘制消息密度图的方法。通过从原始数据中提取日期信息,并统计每天的消息数量,最终生成一张以时间为X轴,消息密集度为Y轴的密度图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构思步骤:

  1、从data中取出时间数据。

  2、从时间数据中提取日期数据。

  3、根据日期数据进行汇总每日的消息数量。

  4、利用ggplot2进行绘图。

#从data中获取时间信息
time<-data$dateTime

#把时间中的日期属性提取出来
p<-paste(year(time),month(time),day(time),sep="-")

#把p转换为数据框
Timed<-data.frame(p)

#通过P分组,p段名称变成days,增加数量列Freq,根据数量进行分组
fenzu<-sqldf("select p days,count(*)Freq from Timed group by p")

#上面fenzu后日期排序是混乱的,需要针对日期进行排序,从小到大
#as.date()把days列转变为日期
#order()把日期进行从小到大排序
fenzu<- fenzu[order(as.Date(fenzu$days)),]

#利用ggplot开始作图
#数据为fenzu,x轴为days,y轴为Freq
ggplot(fenzu,aes(x=as.Date(days),y=Freq))+
  #绘制密度图,向下填充颜色为中紫色,透明度为0.5
    geom_area(fill="mediumpurple1",alpha=0.5)+
  #绘制顶点,顶点为♠标记,大小为3,颜色为蓝色
    geom_point(shape="♠",size=3,colour="blue")+
  #x坐标轴名称为时间,y坐标轴名称为消息密集度
    xlab("时间")+ylab("消息密集度")+
  #设置图表的主题
  theme_solarized_2()

  最终生成下图:

 

转载于:https://www.cnblogs.com/xugege/p/7381075.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值