在RStudio中以3rd变量作为颜色的2d图

时间:2018-12-16 18:03:53

标签: r data-visualization

我有一个包含三列的CSV数据集:

  • 时间戳记(例如2018/12/15)
  • 关键字(例如“ hello”)
  • 计数(例如7)

我想要一个情节,其中相同关键字的所有行都相互连接,并且时间戳在X轴上,而计数在Y轴上。我希望每个关键字的行和用关键字标记的行都有不同的颜色。

CSV仅约30.000行,R在专用计算机上运行。性能可以忽略。

我在该论坛中尝试了使用mathplot和ggplot的各种方法,但是没有将其用于我自己的数据。

在R中最简单的解决方案是什么?

谢谢!

编辑:

我尝试自定义罗马代码并尝试以下操作:

`csvdata <- read.csv("c:/mydataset.csv", header=TRUE, sep=",")  

time <- csvdata$timestamp  
count <- csvdata$count  
keyword <- csvdata$keyword  

time <- rep(time)  
xy <- data.frame(time, word = c(keyword), count, lambda = 5)  

library(ggplot2)  

ggplot(xy, aes(x = time, y = count, color = keyword)) +  
  theme_bw() +  
  scale_color_brewer(palette = "Set1") +  # choose appropriate palette  
  geom_line()`

这将创建正确的画布,但是其中没有点/线...

数据:

  

head(csvdata)

keyword count  timestamp
1 non-distinct-word     3 2018/08/09
2 non-distinct-word     2 2018/08/10
3 non-distinct-word     3 2018/08/11
  

str(csvdata)

'data.frame':   121 obs. of  3 variables:
 $ keyword  : Factor w/ 10 levels "non-distinct-word",..: 5 5 5 5 5 5 5 5 5 5 ...
 $ count    : int  3 2 3 1 6 6 2 3 2 1 ...
 $ timestamp: Factor w/ 103 levels "2018/08/09","2018/08/10",..: 1 2 3 4 5 6 7 8 9 10 ...

1 个答案:

答案 0 :(得分:0)

像这样吗?

# Generate some data. This is the part poster of the question normally provides.
today <- as.Date(Sys.time())
time <- rep(seq.Date(from = today, to = today + 30, by = "day"), each = 2)
xy <- data.frame(time, word = c("hello", "world"), count = rpois(length(time), lambda = 5))

library(ggplot2)

ggplot(xy, aes(x = time, y = count, color = word)) +
  theme_bw() +
  scale_color_brewer(palette = "Set1") +  # choose appropriate palette
  geom_line()

enter image description here