admin管理员组

文章数量:1431426

My graph displays text outside of existing values range on the x axis.

In order to get the text at the correct y level, I increased x axis limits using coord_cartesian.

I would like to remove part of the x axis, keeping the x limit of the plot.

My current reproducible code

### Loading library
library(ggplot2)

### Initiating data
data(iris)

### Initiating plot
ggplot(data=iris, aes(x=Sepal.Length, y=Species)) + 
  geom_point() + 
  coord_cartesian(xlim=c(4, 10)) + 
  geom_text(aes(y=Species, x=9, label=Species)) + 
  theme_classic()

My aim

Not sure this is feasible

My graph displays text outside of existing values range on the x axis.

In order to get the text at the correct y level, I increased x axis limits using coord_cartesian.

I would like to remove part of the x axis, keeping the x limit of the plot.

My current reproducible code

### Loading library
library(ggplot2)

### Initiating data
data(iris)

### Initiating plot
ggplot(data=iris, aes(x=Sepal.Length, y=Species)) + 
  geom_point() + 
  coord_cartesian(xlim=c(4, 10)) + 
  geom_text(aes(y=Species, x=9, label=Species)) + 
  theme_classic()

My aim

Not sure this is feasible

Share Improve this question asked Nov 19, 2024 at 13:28 Yacine HajjiYacine Hajji 1,4891 gold badge5 silver badges23 bronze badges 2
  • 1 Note that geom_text(aes(y=Species, x=9, label=Species)) overplots the labels for each row of a species, which gives them this wonky bold look. Use annotate, or something like geom_text(aes(y=Species, x=9, label=Species), \(d) dplyr::distinct(iris["Species"])) – Axeman Commented Nov 19, 2024 at 19:25
  • Oh I was wondering why the output was bold. For my real use I will label something else than y labels but thank you for the tip! – Yacine Hajji Commented Nov 20, 2024 at 8:17
Add a comment  | 

1 Answer 1

Reset to default 7
ggplot(data=iris, aes(x=Sepal.Length, y=Species)) + 
  geom_point() + 
  coord_cartesian(xlim=c(4, 10)) + 
  geom_text(aes(y=Species, x=9, label=Species)) + 
  theme_classic() +
  scale_x_continuous(breaks = c(4,6,8)) +
  guides(x = guide_axis(cap = "upper"))

本文标签: rRemove part of x axiskeeping x axis limitsStack Overflow