小编use*_*686的帖子

月 - 年条形图以切面和填写年份; 以char格式输入数据作为日期

环境:赢得7 HP,R v2.15.1

我希望得到的:

  • 绘制y(数字)vs x(日期)
  • 标签月 - 月缩写,排序mon + year,las2垂直对齐
  • 颜色填充年份
  • 按年分面

我在这个论坛中阅读了不同的主题后尝试了不同的方法,但无法得到我需要的东西.需要帮忙.附加样本数据和结果.

我的样本数据

x <- c("04-01-10","05-01-10","06-01-10","07-01-10","08-01-10","09-01-10","10-01-10","11-01-10","12-01-10","01-01-11","02-01-11","03-01-11","04-01-11","05-01-11","06-01-11","07-01-11","08-01-11","09-01-11","10-01-11","11-01-11","12-01-11","01-01-12","02-01-12","03-01-12","04-01-12","05-01-12","06-01-12")
y <- c(120,210,130,160,190,210,80,70,110,120,140,160,130,200,110,180,210,200,90,60,100,100,120,170,100,180,120)
Run Code Online (Sandbox Code Playgroud)

x是mm-dd-yy格式的日期(字符)tz:IST(加尔各答/亚洲)数据每个月只有单个y值,这个值在月份的开始日期

转换为数据框架

MySample <- data.frame(x) ## convert to dataframe 
MySample$y <- y
Run Code Online (Sandbox Code Playgroud)

加载所需的库

require(lubridate) 
require(ggplot2)
Run Code Online (Sandbox Code Playgroud)

MySample Base Plot

1)绘制x对y

    ggplot(MySample, aes(MySample$x, MySample$y)) + 
        geom_bar(y=MySample$y,stat="identity") 
Run Code Online (Sandbox Code Playgroud)

给我基础情节结果

2)绘图x vs y + fill =年

    ggplot(MySample, aes(MySample$x, MySample$y, fill=year(MySample$x))) + 
        geom_bar(y=MySample$y,stat="identity")
Run Code Online (Sandbox Code Playgroud)

给了我填充,但有2010年,2010,2010.5,2011,2011.5,2012填写5年

我尝试了不同的方法,但遇到了一个或另一个错误.

3)绘图x vs y + fill =年+ facet_grid(年)

    ggplot(MySample, aes(x, y, fill=year(x))) + 
        geom_bar(y=MySample$y,stat="identity") + 
        facet_grid(. ~ year(MySample$x)) 
Run Code Online (Sandbox Code Playgroud)

获取:layout_base中的错误(data,cols,drop = drop):至少一个图层必须包含用于构面的所有变量 …

r ggplot2

5
推荐指数
1
解决办法
8414
查看次数

标签 统计

ggplot2 ×1

r ×1