Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何绘制特定地区市场份额随时间变化的图表_R_Ggplot2 - Fatal编程技术网

R 如何绘制特定地区市场份额随时间变化的图表

R 如何绘制特定地区市场份额随时间变化的图表,r,ggplot2,R,Ggplot2,我认为y轴上的市场份额,x轴上的时间,每次都需要显示我的5个不同位置。我有数据,只是不能得到一个ggplot命令来显示同一个图形上的所有位置 现在我有8个像这样的数据帧。市场份额在诺基亚手机中。如何绘制每个地区随时间变化的市场份额图表?试试以下方法: require(ggplot2) require(scales) df <- data.frame( Location=c(paste0("Location_",c(sapply(1:5,function(x) r

我认为y轴上的市场份额,x轴上的时间,每次都需要显示我的5个不同位置。我有数据,只是不能得到一个ggplot命令来显示同一个图形上的所有位置

现在我有8个像这样的数据帧。市场份额在诺基亚手机中。如何绘制每个地区随时间变化的市场份额图表?

试试以下方法:

require(ggplot2)
require(scales)

df <- data.frame(
  Location=c(paste0("Location_",c(sapply(1:5,function(x) rep(x,2))))),
  Market_Share=c(.10,.30,.30,.05,.20,.20,.15,.40,.25,.05),
  Date=c("2017-08-30","2017-08-31","2017-08-30","2017-08-31",
         "2017-08-30","2017-08-31","2017-08-30","2017-08-31",
         "2017-08-30","2017-08-31"),
  stringsAsFactors = FALSE
)

ggplot(df,aes(x=as.Date(Date),y=Market_Share,color=Location)) +
  geom_point() +
  geom_line() +
  scale_y_continuous(labels = percent_format()) +
  scale_x_date(labels = date_format("%b-%d-%Y")) +
  xlab("Date") +
  ylab("Market Share")
require(ggplot2)
需要(天平)

df必须是ggplot代码中的错误。你想帮忙找吗?一些建议和建议。在将来,是的,尝试添加一些示例数据以帮助确保最快速和最准确的答案。谢谢@RyanRunge-添加示例代码欢迎您。这样做有助于澄清你的问题。我已经相应地编辑了我的答案。如果这个问题现在已经解决,请选择我的答案,以便将来有类似问题的其他人能够更快地找到答案。@RyanRunge我添加了代码和结果图。只有一个国家在展示。“msnokia07,08…”是我想要用图表表示的值,这就是为什么我要替换它们来保持澄清,我的日期从2007年到2014年,总共有46个国家。有没有一种更简单的方法来绘制这个图表,而不必在所有46个国家,每年输入8次?或者有更好的方法来绘制这个图表?我的错,忽略“46个国家”部分。我需要绘制2007-2014年7个地区的市场份额变化图。你的数据在文本文件中吗?csv或excel文件还是什么?我提供的只是概念的演示。对于实际数据,如果已经在文件中,则不需要手动键入所有数据。只要用类似这样的话读入你的数据:“是的,我已经做到了。我使用了你的代码,得到了一个图形,但只有一个区域,我将添加代码和图形的图片
df <- data.frame(
  Location=c("Argentina","Argentina","Brazil","Brazil",
             "Peru","Peru","Venezuela","Venezuela",
             "Chile","Chile"),
  Units=c(7612.40,0.00,540.90,2139.10,879.70,5796.10,
          25.90,760.00, 2615.70, 1386.30),
  Date=c(rep(c("2007","2008"),5)),
  stringsAsFactors = FALSE
)

ggplot(df,aes(x=as.numeric(Date),y=as.numeric(Units),
              color=Location)) +
  geom_point() +
  geom_line() +
  scale_x_continuous(breaks=as.numeric(df$Date)) +
  xlab("Date") +
  ylab("Units")