R 如何绘制特定地区市场份额随时间变化的图表
我认为y轴上的市场份额,x轴上的时间,每次都需要显示我的5个不同位置。我有数据,只是不能得到一个ggplot命令来显示同一个图形上的所有位置 现在我有8个像这样的数据帧。市场份额在诺基亚手机中。如何绘制每个地区随时间变化的市场份额图表?试试以下方法: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
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")