How to make four-way logarithmic plot in MATLAB? - matlab

Four-way logarithmic plot is a very often used graph for vibration control and earthquake protection. How can this plot be plotted in MATLAB
instead of adding axes in Inkscape?
A sample of four-way logarithmic plot is here:

Related

Change axes to polar on Matlab figure

I have a matrix it Matlab that results in a circular contour plot
Is there any way to change the axess from rectangular to polar without changing the shape of the graph?

Matlab: making the grid in plot logarithmic

I have plotted to vectors against each other, and they are already logarithmic and everything is fine with that. But now that I have my plot i want the grid to be logarithmic. I write "grid on" in my code, and I think there should be a way to do this in the plot, but I can't remember how. How do I make the grid logarithmic?
If you use loglog, semilogx or semilogy instead of plot, the grid will automatically be on a log scale for the corresponding axes when using grid on.
If you have already plotted the axes, you can execute the following on the command line:
set(gca,'yscale','log') %# to set the y-axis to logarithmic
set(gca,'xscale','log') %# to set the x-axis to logarithmic
Have a look at axes properties to find out what else you can modify.

How to make a semilog plot within a semilog plot in MATLAB?

Is it possible to create a semilog plot (semilogx, semilogy, loglog) within a semilog plot? I need to have a zoom-in plot. Most solutions I found only solve for linear scale but not log scale.
Try using axes, for example:
x = linspace(0,1);
figure(1)
% plot on large axes
semilogy(x,1./x)
% create smaller axes in top right, and plot on it
axes('Position',[.55 .55 .33 .33])
box on
loglog(x,exp(x))

Plotting multiple histograms in one 3d

I've got multiple vectors of which I would like to plot seperate histograms in the same figure. However, if I plot all histograms in the same 2D plot, the results become hard to interpret/distinguigh. Therefore I would like to plot them (detached) in 3D.
All I have right now is the following:
hist(A)
hold on
hist(B)
hist(C)
holf off
checkout bar3 for 3D bar plots.

How to plot contour of FFT of an image in Matlab

I want to know how to plot the contour of the FFT of an image in Matlab. I have this code but when plotting the contour I get a blue plot. I think I need to specify the range of the frequencies in the contour function, but how to know/compute the range?
monolayer = double(imread('TEM_monolayer_graphene.bmp'));
monolayerFFTs = fftshift(fft2(monolayer));
contour(monolayerFFTs);
I think instead of the blue plot I should get a 3D plot with some spikes at the frequencies where there is more energy.
I was able to get a really good plot with the following code
monolayer = double(imread('TEM_monolayer_graphene.bmp'));
monolayerFFTs = fftshift(fft2(monolayer));
contour(abs(monolayerFFTs));