
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Create ggplot2 Graph with Reversed Y-Axis and X-Axis on Top in R
To create ggplot2 graph with reversed Y-axis and X-axis on top, we can use scale_y_reverse and scale_x_continuous function of ggplot2 package.
For Example, if we have a data frame called df that contains two columns say X and Y and we want to create the scatterplot between X and Y with reversed Y-axis and X-axis on top then we can use the below command −
ggplot(df,aes(X,Y))+geom_point()+scale_y_reverse()+scale_x_continuous(position="top")
Example
Following snippet creates a sample data frame −
x<-rnorm(20) y<-rnorm(20) df<-data.frame(x,y) df
The following dataframe is created
x y 1 0.59312447 0.4993337 2 0.08696615 -0.1242276 3 1.11337560 -0.5706901 4 0.01421750 0.3663344 5 -0.84509560 0.4541131 6 -0.65373363 0.9613303 7 -0.35945721 -0.1857298 8 0.59160684 0.3575833 9 -1.26637220 -1.1135318 10 0.38272955 0.8173167 11 0.06691834 0.3234260 12 0.16622601 1.2409558 13 0.46761776 -0.9447498 14 1.58349520 -0.4018503 15 0.58928505 -2.6192820 16 0.36153663 2.1236007 17 0.53978229 -0.5937517 18 -1.03483870 1.0795689 19 -1.17331809 -1.0425776 20 -1.12299141 -0.7738698
To load ggplot2 package and create scatterplot between x and y on the above created data frame, add the following code to the above snippet −
x<-rnorm(20) y<-rnorm(20) df<-data.frame(x,y) library(ggplot2) ggplot(df,aes(x,y))+geom_point()
Output
If you execute all the above given snippets as a single program, it generates the following Output −
To create scatterplot between x and y with reversed Y-axis and X-axis on top on the above created data frame, add the following code to the above snippet −
x<-rnorm(20) y<-rnorm(20) df<-data.frame(x,y) library(ggplot2) ggplot(df,aes(x,y))+geom_point()+scale_y_reverse()+scale_x_continuous(position="top")
Output
If you execute all the above given snippets as a single program, it generates the following Output −