ggplot2 R,在轴上固定很多值(线图)
ggplot2 R, Fixing much values in axis (Line-plot)
我无法读取我的 y 轴,因为它有很多值。我试着旋转它,但它没有像我想要的那样工作,这也不是我想做的事情。
我想指定轴上的值,例如从 20 到 30,步长可能为 0.1。
但是值的长度是 1000,所以我猜上面建议的范围不起作用 (?)。
例如:
runNumbers <- seq(from = 1, to = 1000)
tempVector <- seq(from = 20.0010, to = 30, by = 0.01)
plotData <- data.frame(RunNumber = runNumbers, temp = tempVector,
myUglyPlot <- ggplot(data = plotData, mapping = aes(x = RunNumber, y = temp, group = 1)) + geom_line()
#
#
require(scales) # for removing scientific notation
# manually generate breaks/labels
labels <- seq(from = 0, to = 30, length.out = 1000)
# and set breaks and labels
myUglyPlot <- myUglyPlot + scale_y_discrete(breaks = labels, labels = as.character(labels))
# And now my graph is without labels, why?
有没有另一种方法可以做到这一点,而不需要旋转我的标签?或者我在另一个问题的代码中做错了什么(我试图按照他所做的...)?
稍后我将有 10 000 个值,所以我真的需要更改它,我想要一个可读的轴,我可以将间隔放入。
也许我缺少一些简单的概念,我尝试搜索和阅读 R Graphics Cookbook,但目前没有成功。
感谢您的宝贵时间。
更新
我正在尝试使用休息时间,感谢您的帮助。这是我现在正在做的(只有这个):
myUglyPlot <- ggplot(data = plotData, mapping = aes(x = RunNo, y = t_amb, group = 1)) + geom_line()
myUglyPlot <- myUglyPlot + scale_y_discrete(breaks=seq(from = 1, to = 50, by = 0.01))
但它并没有给我任何休息时间。见图
你就快完成了。由于你的 y 轴是一个连续值,你需要使用 scale_y_continuous
而不是 scale_y_discrete
。
myUglyPlot <- myUglyPlot + scale_y_continuous(breaks = labels)
我无法读取我的 y 轴,因为它有很多值。我试着旋转它,但它没有像我想要的那样工作,这也不是我想做的事情。
我想指定轴上的值,例如从 20 到 30,步长可能为 0.1。
但是值的长度是 1000,所以我猜上面建议的范围不起作用 (?)。 例如:
runNumbers <- seq(from = 1, to = 1000)
tempVector <- seq(from = 20.0010, to = 30, by = 0.01)
plotData <- data.frame(RunNumber = runNumbers, temp = tempVector,
myUglyPlot <- ggplot(data = plotData, mapping = aes(x = RunNumber, y = temp, group = 1)) + geom_line()
#
#
require(scales) # for removing scientific notation
# manually generate breaks/labels
labels <- seq(from = 0, to = 30, length.out = 1000)
# and set breaks and labels
myUglyPlot <- myUglyPlot + scale_y_discrete(breaks = labels, labels = as.character(labels))
# And now my graph is without labels, why?
有没有另一种方法可以做到这一点,而不需要旋转我的标签?或者我在另一个问题的代码中做错了什么(我试图按照他所做的...)?
稍后我将有 10 000 个值,所以我真的需要更改它,我想要一个可读的轴,我可以将间隔放入。
也许我缺少一些简单的概念,我尝试搜索和阅读 R Graphics Cookbook,但目前没有成功。
感谢您的宝贵时间。
更新 我正在尝试使用休息时间,感谢您的帮助。这是我现在正在做的(只有这个):
myUglyPlot <- ggplot(data = plotData, mapping = aes(x = RunNo, y = t_amb, group = 1)) + geom_line()
myUglyPlot <- myUglyPlot + scale_y_discrete(breaks=seq(from = 1, to = 50, by = 0.01))
但它并没有给我任何休息时间。见图
你就快完成了。由于你的 y 轴是一个连续值,你需要使用 scale_y_continuous
而不是 scale_y_discrete
。
myUglyPlot <- myUglyPlot + scale_y_continuous(breaks = labels)