如何在factor数据类型上绘制折线图?

时间:2015-04-15 05:08:36

标签: r rcharts

我有一个包含多个列的csv文件。我只考虑其中两个,'时间'和' RiseOrFall'。两者都是Factor数据类型。示例数据如下所示:

Time RiseOrFallRiseOrFall  
12   32
34   0  
56   0
78   25
90   29
123  0
567  50

我试图在R中创建一个每次都掉落的折线图' RiseOrFall'点击0,当它不是0时上升。('时间'在x轴上,' RiseOrFall'在Y轴上)

我试过了:

countFile <- read.csv(file = "counts.csv", nrows = 1000)[, c ('TIME','RiseOrFall')]

ggplot(data=countFile, aes(x=RiseOrFall)) + geom_line()

如何在R中实现(可能使用ggplot2或其他任何东西)??

我的预期输出图表如下(样本数据中的记录非常少。实际数据非常大,具有更大的RiseOrFall值(Y轴): enter image description here

2 个答案:

答案 0 :(得分:1)

试试这个。

我已将x轴(时间)和y轴(RiseOrFall)刻度分别设置为6个单位和200个单位。

ggplot(data=countFile, aes(x=Time,y = TRPM)) + geom_line(colour="brown") + scale_x_continuous(expand = c(0, 0),breaks = round(seq(min(countFile$Time), max(countFile$Time), by = 6),1)) + scale_y_continuous(expand = c(0, 0),breaks = round(seq(min(countFile$TRPM), max(countFile$TRPM), by = 200),1))+ xlab("Time") + ylab("RiseOrFall")+ theme(panel.background = element_blank(),axis.line = element_line(colour = "black"))

enter image description here

答案 1 :(得分:0)

此类数据必须有一个包... 你可以试试这个:

require(ggplot2)
require(zoo) #na.locf

#dummy data
countFile <- read.table(text="Time RiseOrFall  
12   32
34   0  
56   0
78   25
90   29
123  0
567  50",header=TRUE)

#assign values for every x value
filler <- data.frame(Time=min(countFile$Time):max(countFile$Time))
df <- merge(filler, countFile,all.x=TRUE)
df$RiseOrFall <- na.locf(df$RiseOrFall)

#plot
ggplot(df,aes(x=Time,y=RiseOrFall)) +
  geom_line()

enter image description here