由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Computation版 - matlab一条curve如何plot出2个横坐标?
相关主题
问一个matlab作图的问题a question about gnuplot
A MATLAB GUI Design questionmatlab可以画这样的图吗
help on MatlabHow to make 3d plots in Matlab?
ask a mathematica plotting quesitonmatlab 问题 求教
matlab求助问个简单的数值问题
有关manhattan plot (转载)help: 怎么用mathematica 输出坐标轴标记?
matlab里subplot问题[转载] 问一个画histogram的问题
question on plotyy in matlab急问一个Matlab画图问题
相关话题的讨论汇总
话题: axes话题: plot话题: matlab话题: 横坐标话题: different
进入Computation版参与讨论
1 (共1页)
t******0
发帖数: 629
1
比如我有一组频谱数据: x 是波长, y是信号强度; plot(x,y)就行了。
但是我想在图的顶端,再加一个“非均匀”的横坐标 x1=1/x. (频率=波长的倒数)
所以,图上x应该 从小到大排列且等距; x1 应该从大到小排列且不等距。
请问用matlab怎么实现,谢谢。
l********a
发帖数: 1154
2
matlab的就多查mathworks网站
http://www.mathworks.com/help/techdoc/creating_plots/f1-11215.h
The XAxisLocation and YAxisLocation properties specify on which side of the
graph to place the x- and y-axes. You can create graphs with two different x
-axes and y-axes by superimposing two axes objects and using XAxisLocation
and YAxisLocation to position each axis on a different side of the graph.
This technique is useful to plot different sets of data with different
scaling in the same graph.
t******0
发帖数: 629
3
谢谢啊,我查过这个网站了。自己也不是一点都没想就上来问的。。。
我现在已经可以上下出两个坐标了,而且第一个坐标可以是从大到小显示的。
但是就我说的这个例子:波长=1/频率,一定有一个坐标轴是非等距的吧。
关键就是这个“非等距”和“只有一条curve”.

the
x

【在 l********a 的大作中提到】
: matlab的就多查mathworks网站
: http://www.mathworks.com/help/techdoc/creating_plots/f1-11215.h
: The XAxisLocation and YAxisLocation properties specify on which side of the
: graph to place the x- and y-axes. You can create graphs with two different x
: -axes and y-axes by superimposing two axes objects and using XAxisLocation
: and YAxisLocation to position each axis on a different side of the graph.
: This technique is useful to plot different sets of data with different
: scaling in the same graph.

l********a
发帖数: 1154
4
等距不等距无所谓,记住axis显示的只是xticklable,这是一个cell数组,至于这些label
放在axis的哪个位置,是xtick确定的.
所以,你只要设置好这2个就行了.
例如:
哪怕你画的图x的范围是0-100,但是你只想显示0,50,100这3个位置
set(h,'xtick',0:50:100);
set(h,'xticklable',{'0','50','100'});
如果你修改了xtick,改成
set(h,'xtick',[0,20,40]);
那么即使xticklable还是{'0','50','100'},它也会被显示在坐标轴上x为0,20,和40的
位置的.

【在 t******0 的大作中提到】
: 谢谢啊,我查过这个网站了。自己也不是一点都没想就上来问的。。。
: 我现在已经可以上下出两个坐标了,而且第一个坐标可以是从大到小显示的。
: 但是就我说的这个例子:波长=1/频率,一定有一个坐标轴是非等距的吧。
: 关键就是这个“非等距”和“只有一条curve”.
:
: the
: x

1 (共1页)
进入Computation版参与讨论
相关主题
急问一个Matlab画图问题matlab求助
Help: How to input superscript for the Xticklabel in Matlab?有关manhattan plot (转载)
问个matlab画图的问题matlab里subplot问题
如何提高matlab中的fill函数画的图质量?question on plotyy in matlab
问一个matlab作图的问题a question about gnuplot
A MATLAB GUI Design questionmatlab可以画这样的图吗
help on MatlabHow to make 3d plots in Matlab?
ask a mathematica plotting quesitonmatlab 问题 求教
相关话题的讨论汇总
话题: axes话题: plot话题: matlab话题: 横坐标话题: different