这是该问题的延续:Plot data with different length
我在称为df_Filtered
的df中有如下数据:
Country Region Sales Year
Germany Berlin 2000 2000
Germany Hamburg 1500 2001
Germany Kiel 2150 2002
UK London 1200 2000
UK York 1300 2001
UK Leeds 2000 2002
Japan Tokyo 500 2000
Japan Kyoto 750 2001
我想绘制每个地区的数据以及每年的销售价值:
ggplot(df_Filtered, aes(x = Year, y = Sales, colour = Country,
scale_y_continuous(breaks = 1), size = mysize)) +
geom_line() +
labs(x = paste("Sales per country"), y = "Sales per country", title = NULL) +
scale_x_continuous(breaks = c(2000, 2001, 2002)) +
scale_size(range = c(1, 4), guide = "none") +
theme(panel.background = element_blank())
ggsave(paste("Output/", "Sales", ".png", sep = ""), width = 20, height = 11,
limitsize = FALSE)
请注意,我还有一个向量,用于要在实际数据中使用的行的大小。在实际代码中,代表平均国家/地区价值的行较粗,但为了简化起见:
Size = 2
df_Filtered$mysize <- rep(Size, nrow(df_Filtered))
我现在的问题是如何为每个国家/地区分配颜色图案?就是说,当我绘制日本地区时,我希望这些地区的线获得不同的红色;当我绘制德国人时,如果我希望它的颜色是黑色,等等。我还希望每个系列都有一条线(粗线)位于面板中间。对于日本来说,这意味着一条线应为红色,而另一条线应为深红色。
有什么方法可以做到,而不必手动为每个区域手动分配颜色值?