[已解决] matlab画图如何设置不等距的纵坐标标示?

[复制链接]
oliverlee 发表于 2018-3-9 12:39:39
matlab画图时,如何设置如下图所示的不等距的纵坐标标示?
微信图片_20180309123733.png

最佳答案


matlabzhanghu 发表于 2018-3-9 16:49:07
oliverlee 发表于 2018-3-9 12:48
我原先的程序是这样的(前三行),运行出现“错误使用 matlab.graphics.axis.Axes/set
设置 Axes 的 'YT ...

我的 R2012a 版本运行正常
你试试下面的程序能否在你的机器上运行
  1. clear all; clc
  2. x = [1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18];
  3. y = [1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18];
  4. loglog(x,y);
  5. ylabel('Final Cumulative Wealth');
  6. set(gca,'Ytick',[1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18]);
  7. set(gca,'Yticklabel',{'1E-03','1E+00','1E+03','1E+06','1E+09','1E+12', '1E+15','1E+18'});
复制代码

5 条回复


matlabzhanghu 发表于 2018-3-9 12:43:27
loglog(x,y)
x 轴和y 轴均为对数刻度(Logarithmic Scale)
semilogx(x,y)
x 轴为对数刻度,y 轴为线性刻度
semilogy(x,y)
x 轴为线性刻度,y 轴为对数刻度

土木小王子 发表于 2018-3-9 12:46:49
yticks([1 2 3 4 ])%在纵坐标上显示1 2 3 4

oliverlee 发表于 2018-3-9 12:48:26
matlabzhanghu 发表于 2018-3-9 12:43
loglog(x,y)
x 轴和y 轴均为对数刻度(Logarithmic Scale)
semilogx(x,y)
  1. ylabel('Final Cumulative Wealth');
  2. set(gca,'Ytick',[1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18]);  
  3. set(gca,'Yticklabel',{'1E-03','1E+00','1E+03','1E+06','1E+09','1E+12', '1E+15','1E+18'});
复制代码

我原先的程序是这样的(前三行),运行出现“错误使用 matlab.graphics.axis.Axes/set
设置 Axes 的 'YTick' 属性时:
值必须是其值增大的单精度或双精度类型矢量”,请问具体该如何修改?

土木小王子 发表于 2018-3-9 12:50:05
先ylim([0 8])%指定y轴上下限
然后在yticks([0 1 2 3 8])%显示指定的数

matlabzhanghu 发表于 2018-3-9 16:49:07
oliverlee 发表于 2018-3-9 12:48
我原先的程序是这样的(前三行),运行出现“错误使用 matlab.graphics.axis.Axes/set
设置 Axes 的 'YT ...

我的 R2012a 版本运行正常
你试试下面的程序能否在你的机器上运行
  1. clear all; clc
  2. x = [1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18];
  3. y = [1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18];
  4. loglog(x,y);
  5. ylabel('Final Cumulative Wealth');
  6. set(gca,'Ytick',[1E-03,1E+00,1E+03,1E+06,1E+09,1E+12,1E+15,1E+18]);
  7. set(gca,'Yticklabel',{'1E-03','1E+00','1E+03','1E+06','1E+09','1E+12', '1E+15','1E+18'});
复制代码
1.png
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表