ggplot绘图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


ggolot绘图

这里介绍下ggplot绘图 过程中遇到的一些问题:

  • 横坐标为日期
  • 分类多图例

一、横坐标为日期

#1、引用R包:
library(ggplot2)

#2、绘制主图型:
qplot(x=hhtime, y=staytime, data=plotdata)

#3、自定义横坐标显示----日期型横坐标
library(ggplot2)
qplot(x=hhtime, y=staytime, data=plotdata)+
  scale_x_continuous(breaks = as.POSIXct(paste("2012-01-01",c("00:00","04:00","08:00","12:00","16:00","20:00","24:00"))),
                     labels = c("00:00","04:00","08:00","12:00","16:00","20:00","24:00"))+
  ##   指定每条线各自的颜色----需要对数据进行转换
  geom_line(data=plotdata3,aes(x=time_h,y=value,colour=variable),size = 1.15)+
  ylim(0,2000)+labs(x = "Arrival Time")

##此种情况需要进行长款数据类型转换,这里不多说,以后专门篇章书写,优点省事,只需转换数据格式即可


#4、自定义每条线----优点每条线分别定义,自由度高,缺点代码繁琐
qplot(x=hhtime, y=staytime, data=plotdata)+
  geom_line(aes(time_h,staytime,group = 1,color="staytime"),data = plotdata2,size=1.15)+
  geom_line(aes(time_h,lr,group = 1,color="lr"),data = plotdata2,size=1.15)+
  geom_line(aes(time_h,lasso,group = 1,color="lasso"),data = plotdata2,size=1.15)+
  geom_line(aes(time_h,ridge,group = 1,color="ridge"),data = plotdata2,size=1.15)+
  geom_line(aes(time_h,gbdt,group = 1,color="gbdt"),data = plotdata2,size=1.15)+
  geom_line(aes(time_h,lgb,group = 1,color="lgb"),data = plotdata2,size=1.15)+
  geom_line(aes(time_h,xgb,group = 1,color="xgb"),data = plotdata2,size=1.15)+
  ##     限定Y轴坐标显示
  ylim(0, 2000)+
  ##     指定日期X轴坐标展示
  scale_x_continuous(breaks = as.POSIXct(paste("2012-01-01",c("00:00","04:00","08:00","12:00","16:00","20:00","24:00"))),
                     labels = c("00:00","04:00","08:00","12:00","16:00","20:00","24:00"))+
  ##     指定各自线条图例的颜色----不加这一步则使用各自默认颜色
  scale_color_manual(values = c( "staytime" = "#CC0033", 
                                 "lr" = "#33FFFF",
                                 "lasso" = "#CCFF33",
                                 "ridge" = "#9999FF",
                                 "gbdt" = "#FFCC66",
                                 "lgb" = "#FF99FF",
                                 "xgb" = "#33CC99") )


二、分类多图例

这里是在社区中遇到有人问个一个问题,我们先看一下对方的需求
在这里插入图片描述

在本地我们进行了重现,以下是代码展示

#### 导入数据
data <- rio::import("data.xlsx")

#### 目的使用管道函数 %>%
library(dplyr)

#### 目的宽数据转长数据 gather
library(tidyr)

#### 对数据进行格式变换
plor_bar <- data %>% gather(key="Meds", value = "Response",2:8)

#### 引入绘图包
library(ggplot2)

#### 进行绘图
ggplot(plor_bar) +
  geom_bar(aes(x = Meds, fill = Response),position = 'dodge') +
  facet_wrap(~ Area_of_Speciality) 

以下为绘图效果展示
这是对方代码未修改之前
根据自身理解,修改对方代码,以达到对方需求,(不排除自己理解错误!)

其实这里仅仅是修改了一个函数

ggplot(plor_bar) +
  geom_bar(aes(x = Meds, fill = Response),position = 'dodge') + 
  facet_grid(~ Area_of_Speciality)

以下为绘图效果展示
此处为代码修改后效果
更多关于ggplot的知识,欢迎CSDN中查找!

以上内容如有不适,请及时联系,在下及时更正!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值