在 ggplot 中绘制它。控制y轴线在一个范围内
plot this in ggplot. Controlling y axis line within a range
这是使用 base,我可以在其中控制 x 轴和 y 轴的范围,准确地绘制线条。
plot(mtcars$mpg, mtcars$hp, ylim = c(0, 400), xlim = c(0, 50), axes = F, xlab = 'mpg', ylab = 'hp', pch = 16)
axis(side = 2, at = seq(100, 400, 100))
axis(side = 1, at = seq(10, 30, 10))
ggplot(data = mtcars, aes(x = mpg, y = hp))+geom_point()+
theme(panel.background = element_blank())+
scale_x_continuous(breaks = seq(10, 30, 10), limits = c(0, 50))+
scale_y_continuous(breaks = seq(100, 400, 100), limits = c(0, 400))
如何添加与底图完全一样的轴线?我试过 scale_y_continuous
和 scale_x_continuous
但它总是画到情节的结尾。
您可以使用 ggthemes
套餐到达那里:
library(ggthemes)
ggplot(data = mtcars, aes(x = mpg, y = hp)) +
geom_point() +
geom_rangeframe(data = data.frame(mpg = c(10, 30), hp = c(100, 400))) +
theme_tufte() +
scale_x_continuous(breaks = seq(10, 30, 10), limits = c(0, 50))+
scale_y_continuous(breaks = seq(100, 400, 100), limits = c(0, 400))
您可以也可以手动绘制它们,如果需要:
ggplot(data = mtcars, aes(x = mpg, y = hp)) +
geom_point() +
geom_segment(
aes_all(c('x', 'y', 'xend', 'yend')),
data.frame(x = c(0, 10), xend = c(0, 30), y = c(100, 0), yend = c(400, 0))
) +
theme(panel.background = element_blank()) +
scale_x_continuous(breaks = seq(10, 30, 10), limits = c(0, 50), expand = c(0, 0))+
scale_y_continuous(breaks = seq(100, 400, 100), limits = c(0, 400), expand = c(0, 0))
这是使用 base,我可以在其中控制 x 轴和 y 轴的范围,准确地绘制线条。
plot(mtcars$mpg, mtcars$hp, ylim = c(0, 400), xlim = c(0, 50), axes = F, xlab = 'mpg', ylab = 'hp', pch = 16)
axis(side = 2, at = seq(100, 400, 100))
axis(side = 1, at = seq(10, 30, 10))
ggplot(data = mtcars, aes(x = mpg, y = hp))+geom_point()+
theme(panel.background = element_blank())+
scale_x_continuous(breaks = seq(10, 30, 10), limits = c(0, 50))+
scale_y_continuous(breaks = seq(100, 400, 100), limits = c(0, 400))
如何添加与底图完全一样的轴线?我试过 scale_y_continuous
和 scale_x_continuous
但它总是画到情节的结尾。
您可以使用 ggthemes
套餐到达那里:
library(ggthemes)
ggplot(data = mtcars, aes(x = mpg, y = hp)) +
geom_point() +
geom_rangeframe(data = data.frame(mpg = c(10, 30), hp = c(100, 400))) +
theme_tufte() +
scale_x_continuous(breaks = seq(10, 30, 10), limits = c(0, 50))+
scale_y_continuous(breaks = seq(100, 400, 100), limits = c(0, 400))
您可以也可以手动绘制它们,如果需要:
ggplot(data = mtcars, aes(x = mpg, y = hp)) +
geom_point() +
geom_segment(
aes_all(c('x', 'y', 'xend', 'yend')),
data.frame(x = c(0, 10), xend = c(0, 30), y = c(100, 0), yend = c(400, 0))
) +
theme(panel.background = element_blank()) +
scale_x_continuous(breaks = seq(10, 30, 10), limits = c(0, 50), expand = c(0, 0))+
scale_y_continuous(breaks = seq(100, 400, 100), limits = c(0, 400), expand = c(0, 0))