我正在尝试使用R中的ggplot库绘制图形线,但是我得到了一个很好的图,但我需要减少行网格线之间的渐变空间或高度,因为我在线之间得到很大的分离。
这是我的R脚本:
library(ggplot2)
library(reshape2)
data <- read.csv('/Users/keepo/Desktop/G.Con/Int18/input-int18.csv')
chart_data <- melt(data, id='NRO')
names(chart_data) <- c('NRO', 'leyenda', 'DTF')
ggplot() +
geom_line(data = chart_data, aes(x = NRO, y = DTF, color = leyenda), size = 1)+
xlab("iteraciones") +
ylab("valores")
..第一行距离第二行很远。我怎样才能减少高度?
问候。
答案 0 :(得分:1)
线条相距很远,因为在y轴上绘制的变量值相距很远。如果你需要它们更紧密,你基本上有3个选择:
map
的每个值。)不推荐:
简而言之,这里的答案取决于你的数字意味着什么。你要讲的是什么故事?图表的重要特征是它们之间的变化(在这种情况下,标准化可能是您的最佳选择),或实际数字本身(在这种情况下,空间是相关的)。
答案 1 :(得分:0)
您可以使用轴转换以非线性方式将数据映射到屏幕,
fun_trans <- function(x){
d <- data.frame(x=c(800, 2500, 3100), y=c(800,1950, 3100))
model1 <- lm(y~poly(x,2), data=d)
model2 <- lm(x~poly(y,2), data=d)
scales::trans_new("fun",
function(x) as.vector(predict(model1,data.frame(x=x))),
function(x) as.vector(predict(model2,data.frame(y=x))))
}
last_plot() + scale_y_continuous(trans = "fun")