使用不同的颜色或线型绘制直线R
我面临着数据可视化问题。以下是我的数据摘录:使用不同的颜色或线型绘制直线R,r,ggplot2,data-visualization,R,Ggplot2,Data Visualization,我面临着数据可视化问题。以下是我的数据摘录: head(Dataset) Project Date Budget Project Status PR1 September 2015 0.2 Ongoing PR1 October 2015 0.5 Ongoing PR1 November 2015 0.9 Ongoing PR1 December
head(Dataset)
Project Date Budget Project Status
PR1 September 2015 0.2 Ongoing
PR1 October 2015 0.5 Ongoing
PR1 November 2015 0.9 Ongoing
PR1 December 2015 1.2 Ongoing
PR1 January 2016 1.8 Suspended
PR1 February 2016 1.8 Suspended
PR1 March 2016 1.8 Abandoned
PR2 August 2015 1.5 Ongoing
PR2 September 2015 1.9 Ongoing
PR2 October 2015 2.3 Ongoing
PR2 December 2015 2.5 Ongoing
PR2 January 2016 2.8 Ended
我想根据状态修改绘制每个项目的预算演变。我尝试了以下代码
g1 <- ggplot(Dataset, aes(Dataset$Date, Dataset$Budget))+
geom_line(color=Dataset$Project, linetype=Dataset$Status)
你能给我一些建议吗
非常感谢 以下注释整理数据值中的命名(年、月、项目状态)
Dataset以下注释整理数据值中的命名(年、月、项目状态)
Dataset我认为您不需要aes()
中的Dataset$Date
或Dataset$Budget
,因为您已经指定了数据。对于geom_line()
arguments,也是如此。您应该发布dput(数据集)
。否则,潜在的应答者将需要添加所有分隔符以获取系统中已有的对象。我们中的许多人认为这是您的责任。我认为您不需要aes()
中的Dataset$Date
或Dataset$Budget
,因为您已经指定了数据。对于geom_line()
arguments,也是如此。您应该发布dput(数据集)
。否则,潜在的应答者将需要添加所有分隔符以获取系统中已有的对象。我们许多人认为这是你的责任。
Error: geom_path: If you are using dotted or dashed lines, colour, size and linetype must be constant over the line
Dataset <- read.table(text="
Project Month Year Budget Project_Status
PR1 September 2015 0.2 Ongoing
PR1 October 2015 0.5 Ongoing
PR1 November 2015 0.9 Ongoing
PR1 December 2015 1.2 Ongoing
PR1 January 2016 1.8 Suspended
PR1 February 2016 1.8 Suspended
PR1 March 2016 1.8 Abandoned
PR2 August 2015 1.5 Ongoing
PR2 September 2015 1.9 Ongoing
PR2 October 2015 2.3 Ongoing
PR2 December 2015 2.5 Ongoing
PR2 January 2016 2.8 Ended
", header=TRUE)
library(lubridate)
# Make date a true date type, using lubridate conversions
Dataset$Date = dmy(paste("1", Dataset$Month, Dataset$Year))
# Plot with the dataset sepecified once (cleaner)
g1 <- ggplot(Dataset, aes(x=Date, y=Budget)) +
# draw line for the budget coloring by project
geom_line(aes(color=Project)) +
# draw a point overlay for the stautus at that point in time
geom_point(aes(shape=Project_Status))
print(g1)