matlab绘图x轴能否使用两行标注
请问:matlab在标注坐标轴的时候,可不可以在x轴上标注两行,比方说x轴坐标第一行是倍频,第二行是转速。类似于下面这张图昨天问了一下,看来matlab不支持这个功能阿:@L
[ 本帖最后由 ChaChing 于 2010-2-23 07:50 编辑 ]
回复 #1 appleseed05 的帖子
楼主,请问1楼的图是用什么软件画的呀?[ 本帖最后由 ChaChing 于 2010-2-23 08:10 编辑 ]
回复 #1 appleseed05 的帖子
看看手动添加可以不可以我没弄过 提个醒而已 1楼的图是用photoshop:loveliness::loveliness::lol
手动添加自然是可以的,但是我的图很多,工作量非常大
[ 本帖最后由 ChaChing 于 2010-2-23 08:09 编辑 ] 只要肯找办法总是会有的,下边的程序基本可以满足楼主的要求。只是给你提供一种思路,实际应用可能需要改进。
clear;clc; a=1:10; b=10*a;
plot(a,a+1);grid on; hold on
for i=1:length(a)
a=text(i,1.2,num2str(b(i))); set(a,'HorizontalAlignment','center')
end
[ 本帖最后由 ChaChing 于 2010-2-23 08:12 编辑 ] 不错不错,我当时也是马上想到用 text,不过由于这台破电脑安装不了 matlab,所以没有测试。另外,我也想过是不是用 xlabel 也能做到呢?即能否使用 2 维变量实现?
[ 本帖最后由 ChaChing 于 2010-2-23 08:13 编辑 ]
回复 #6 eight 的帖子
下午费了快2小时,才搞出来。xlabel我也想过,不过位置不好对齐。xtick和xticklabel又必须是一维的所以,只有用循环了。谁有更好的办法继续贴:victory:[ 本帖最后由 ChaChing 于 2010-2-23 08:29 编辑 ] 如果不想用循环,使用 arrayfun 命令就可以了
[ 本帖最后由 ChaChing 于 2010-2-23 08:14 编辑 ] 两位版主做得不错~~
嘿嘿
我也学习学习。 这个确实不错,xlabel我倒是试过,但是搞出来怎么看怎么不爽就放弃了
向两位版主学习了:lol :lol
回复 #7 花如月 的帖子
学习版主,刻苦钻研的精神。[ 本帖最后由 ChaChing 于 2010-2-23 08:29 编辑 ] 呵呵,花花和eight真是强啊,佩服,我也学习到了! 可以这样子伪装拉
在下面画一个同样的图,
设置y方向的宽度显示宽度相当的小,就可以另外选择tick
了
是伪装而已
-------------------
具体代码,使用matlab7以上的,手工操作下,生成代码,学习下就可以了
回复 #13 alljoyland 的帖子
:@L 没太看明白。还是这个例子,把你的代码弄上来让我们大家也学习了一下吧[ 本帖最后由 ChaChing 于 2010-2-23 08:34 编辑 ] 为什么一个轴上标注两行那,你能不能变通一下两个y轴多好,左右一边一个,要不x上下各一个,都好啊,何必这么麻烦
页:
[1]
2