我正在使用ggplot2
库来绘制两个data.frames的线性图。下面我把data.frames和我的函数放在一起。问题在于,在X轴和Y轴上,条约周围的值范围不会出现,只有4个值中的1个。对于X轴值,我使用的是power_value
列data.frame DF_N_EPC_AND_FOUND_EPC
的值。另一个我正在使用data.frame获取一个常量值。我想看到X轴和Y轴的整个值范围,我不知道该怎么做。
我的功能:
LINER_GRAPH_POWER_LIST_VALUES<-function(DF_N_EPC_AND_FOUND_EPC, DF_READ_EXTERNAL_LIST_EPC_TAGS ){
require(reshape2)
df.m <- melt(DF_N_EPC_AND_FOUND_EPC, id=c("power_value"), measure=c("total_epc","found_epc"), variable.name="epc")
require(ggplot2)
ggplot(df.m, aes(x=power_value, y=value, color=epc)) +
geom_line() +
geom_point() +
geom_hline(yintercept=nrow(DF_READ_EXTERNAL_LIST_EPC_TAGS), color="green")
}
DF_N_EPC_AND_FOUND_EPC data.frame:
power_value total_epc found_epc
1 31.0 11 5
2 30.5 12 5
3 30.0 11 5
4 29.5 11 5
5 29.0 10 5
6 28.5 11 5
7 28.0 11 5
8 27.5 10 4
9 27.0 10 4
10 26.5 10 4
11 26.0 10 4
12 25.5 10 3
13 25.0 9 3
DF_READ_EXTERNAL_LIST_EPC_TAGS data.frame:
TAGS_IDE
1 00000000000000000000A288
2 000000000000000CCC002001
3 00000000000000000000A194
4 00000000000000000000A284
5 00000000000000000000A332
6 00000000000000000000A002
7 00000000000000000000A262
8 00000000000000000000A261
答案 0 :(得分:2)
要向x-axis
添加所有需要的标签,请在ggplot
功能中添加以下行:
scale_x_continuous(breaks = c(..add the desired breaks here..))
像这样:
ggplot(df.m, aes(x = power_value, y = value, color = epc)) +
geom_line() +
geom_point() +
scale_x_continuous(breaks = c(25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0,30.5,31.0)) +
geom_hline(yintercept = nrow(DF_READ_EXTERNAL_LIST_EPC_TAGS), color = "green")
给出:
在您的函数中实现:
LINER_GRAPH_POWER_LIST_VALUES <- function(DF_N_EPC_AND_FOUND_EPC, DF_READ_EXTERNAL_LIST_EPC_TAGS ){
require(reshape2)
df.m <- melt(DF_N_EPC_AND_FOUND_EPC, id = c("power_value"), measure = c("total_epc","found_epc"), variable.name = "epc")
require(ggplot2)
ggplot(df.m, aes(x = power_value, y = value, color = epc)) +
geom_line() +
geom_point() +
scale_x_continuous(breaks = c(df.m$power_value)) +
geom_hline(yintercept = nrow(DF_READ_EXTERNAL_LIST_EPC_TAGS), color="green")
}
如果您也想对y-axis
执行此操作,则可以使用scale_y_continuous
执行相同的操作。
答案 1 :(得分:0)
几乎完美:)非常感谢,只有一个小细节。这些值来自可以改变的data.frame,如下所示:
LINER_GRAPH_POWER_LIST_VALUES<-function(DF_N_EPC_AND_FOUND_EPC, DF_READ_EXTERNAL_LIST_EPC_TAGS ){
require(reshape2)
df.m <- melt(DF_N_EPC_AND_FOUND_EPC, id=c("power_value"), measure=c("total_epc","found_epc"), variable.name="epc")
require(ggplot2)
ggplot(df.m, aes(x=power_value, y=value, color=epc)) +
geom_line() +
geom_point() +
scale_x_continuous(breaks=c(DF_N_EPC_AND_FOUND_EPC$power_value)) +
geom_hline(yintercept=nrow(DF_READ_EXTERNAL_LIST_EPC_TAGS), color="green")
}
非常感谢你:)