How to stop log axis shift
2 次查看(过去 30 天)
显示 更早的评论
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1725191/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1725196/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1725201/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1725206/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1725211/image.png)
0 个评论
采纳的回答
Tomoaki Takagi
2024-7-1
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Axis Labels 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!