【问题标题】:How to specify the value of the first tick in a graph using ggplot2 without changing the origin value?如何使用 ggplot2 在不更改原点值的情况下指定图表中第一个刻度的值?
【发布时间】:2020-07-21 18:27:39
【问题描述】:

这是我的数据:

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 的图形。谢谢!

【问题讨论】:

  • 将您的breaks 更改为 y 轴:breaks = seq(200, 800, by = 50)。这就是你要找的吗?

标签: r ggplot2 graphing xticks


【解决方案1】:

将比例更改为 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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多