1

这是我的数据:

X,Y
0,725
2500,695
4750,629
5000,605
5500,598
7000,616
8500,594
0,725
2250,695
4750,629
6500,640
9750,647
0,725
2250,695
4750,629
6500,640
10000,680

这是我当前的代码(不包括该图所需的一堆 geom_segments):

ggplot(sb, aes(x= X,y= Y)) +
  labs(x = "\nDistance in Feet", y = "Feet Above Mean Sea Level\n") + #\n allows for a line break
  geom_line(color = "orange") +
  scale_y_continuous(breaks = seq(0, 800, by = 50), lim = c(0,800), expand = c(0, 0))  +
  scale_x_continuous(breaks = seq(0, 10000, by = 1000), lim = c(0,12000), expand = c(0, 0)) + 
  theme_bw() + 
  theme(axis.line = element_line(colour = "black"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank()) +
  theme(text=element_text(size=16,  family="Calibri"))  #change font

这是仅填充我发布的代码的图表(没有 geom_line 段): 在此处输入图像描述

我想要的是将原点保持在 0,0,但让 y 轴的第一个刻度从 200 开始,而不是从 50 开始。但我想保持刻度以 50 为增量以 800 结束。所以第一个刻度是 200,然后是 250 等到 800。我尝试将限制从 lim = c(0,800) 设置为 lim = c(200,800),但只有 200 是原点而不是 0。我想保持 0 作为原点。该图是在 200 左右结束的地下钻孔的横截面,因此一旦我添加垂直线,200 值标记下的区域就只是空白空间。如果它可以帮助您更多地可视化它,我可以添加带有所有 geom_lines 的图形。谢谢!

4

1 回答 1

2

将比例更改为 y 轴

你可以通过改变scale_y_continuous breaks这样的来做到这一点:

... +
scale_y_continuous(breaks = c(0, seq(200, 800, by = 50)), lim = c(0,800), expand = c(0, 0))  +
...

您的情节将如下所示:

在此处输入图像描述

完整的最终代码:

ggplot(sb, aes(x= X,y= Y)) +
  labs(x = "\nDistance in Feet", y = "Feet Above Mean Sea Level\n") + #\n allows for a line break
  geom_line(color = "orange") +
  scale_y_continuous(breaks = c(0, seq(200, 800, by = 50)), lim = c(0,800), expand = c(0, 0))  +
  scale_x_continuous(breaks = seq(0, 10000, by = 1000), lim = c(0,12000), expand = c(0, 0)) + 
  theme_bw() + 
  theme(axis.line = element_line(colour = "black"),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank()) +
  theme(text=element_text(size=16,  family="Calibri"))  #change font

希望这可以帮助。

于 2020-04-09T07:51:39.177 回答