How to stop log axis shift

3 views (last 30 days)
vauntedmango
vauntedmango on 1 Jul 2024
Commented: vauntedmango on 1 Jul 2024
Hello,
I am trying to generate 5 different 3d waterfall plots (each representing a flow speed from 20m/s to 60m/s). One of the axes in each of the graphs represents frequency and is set to be logarithmic by using: 'set(gca, 'XScale', 'log');'
The frequency values within the 'waterfall' function are normalised by dividing by the respective flow speed.
Eg: for 20m/s, h = waterfall(F/20, blowingRates, DPWL20_filtered');
Since F starts at 0, I wasn't worried about the lower x limit, but I set the upper limit to max(F)/60 for all plots to ensure they all cover the same X range: xlim([0 max(F)/60])
When I try to plot these, I notice the frequency axes shift, despite enforcing xlim
Is there a better way to keep the axes the same for all plots?
Here are images for the plots so far:

Accepted Answer

Tomoaki Takagi
Tomoaki Takagi on 1 Jul 2024
You can't plot 0=10^(-inf) on a log scale.
The lower x limit must be a positive number.
For example, try xlim([0.1 max(F)/60]) or xlim([0.01 max(F)/60]).
Of course, 0.1=10^-1 and 0.01=10^-2.
  1 Comment
vauntedmango
vauntedmango on 1 Jul 2024
Don't know how I missed that, thanks a lot! Works well

Sign in to comment.

More Answers (0)

Categories

Find more on Data Exploration in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!