# How to adjust x-axis in a plot?

3 visualizaciones (últimos 30 días)
UTKARSH VERMA el 20 de Ag. de 2021
Editada: ANKUR KUMAR el 23 de Ag. de 2021
Hi,
I am trying to plot a global picture (as shown in figure attached) where my x-axis is from 180 to -180 longitudes but I need to adjust it to start from 0 longitudes and and end with just before 0 longitudes (a sample is also shown).
Please suggest how to achieve that?
Main Figure:
How I want:
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Respuesta aceptada

ANKUR KUMAR el 20 de Ag. de 2021
Editada: ANKUR KUMAR el 23 de Ag. de 2021
You can use circshift to rotate your data in a circular fashion. Once you have the circular shifted data, you can just manipulate the coastlon to get the longitudenal range starting from 0 to 360.
Here is an example using reanalysis data.
clc
clear
file='gdas.txt'; % this is really a netcdf data,
% %but I have changed just the file extension to attach this file here in the answers
lon=ncread(file,'lon');
lat=ncread(file,'lat');
tmp=ncread(file,'tmp');
load coastlines
figure
contourf(lon, lat, tmp', 'linecolor','none')
hold on
plot(coastlon, coastlat, 'k-','LineWidth',0.2)
caxis([200 320])
colormap(jet(12))
daspect(ones(1,3))
xlim([-180 180])
colorbar
coastlon=mod(coastlon,360);
coastlon(abs(diff(coastlon))>100)=nan; % commenting this line results into mutiple
% horizontal lines in the plot
figure
contourf(lon, lat, circshift(tmp,size(lon,1)/2,1)', 'linecolor','none')
hold on
plot(coastlon-180, coastlat, 'k-','LineWidth',0.2)
index=sum(lon==get(gca, 'XTick'),2);
xticklabels(lon(logical(index))+180)
caxis([200 320])
colormap(jet(12))
daspect(ones(1,3))
colorbar
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
UTKARSH VERMA el 23 de Ag. de 2021
Hi Ankur,
Thanks for helping, I have done it manually but your code seems more convinient and general method to use to get these type of results.

Iniciar sesión para comentar.

### Más respuestas (2)

KSSV el 20 de Ag. de 2021
To limit axes read about xlim, ylim, axis.
To put up your required lables on the axis read about xticklabel and yticklabel.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
UTKARSH VERMA el 20 de Ag. de 2021
Hi, thanks for replying.
I have read all the documents you have mentioned but, I didn't find the solution also I tried rearranging the longitudes where it starts from 0 longitude and end with 0 but it's showing following error:
Error using contourf (line 57)
Vector X must be strictly increasing or strictly decreasing with no repeated values.
The above error is because my data longitude values starts from -180 to 180.

Iniciar sesión para comentar.

Steven Lord el 20 de Ag. de 2021
Since you're working with map data, you may want to explore the map axes that is part of Mapping Toolbox if this toolbox is available to you. There are a number of properties of map axes that you can control (including projection as well as longitude and latitude limits) that may be of use to you in creating this map graphic.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
UTKARSH VERMA el 23 de Ag. de 2021
Hi Steven,
Thanks for your suggestion, I will explore map axes.

Iniciar sesión para comentar.

### Categorías

Más información sobre Geographic Plots en Help Center y File Exchange.

R2018a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by