aiguo 发表于 2007-11-22 11:34

plotyy双纵坐标绘图请教

双纵坐标图代码如下
问题是:我画出图形后,曲线y不知怎么修改它的颜色和粗细虚实,只有曲线s可以在图形中直接采用鼠标修改,请高手指点一下,
也就是说只能修改其中的一条曲线,另一条曲线不知道怎样才能修改它的颜色和虚实
clf;
dx=0.1;
x=0:dx:4;
y=x.*sin(x);
s=cumtrapz(y)*dx; %梯形法求累计积分
plotyy(x,y,x,s)

eight 发表于 2007-11-22 11:35

原帖由 aiguo 于 2007-11-22 11:34 发表 http://www.chinavib.com/forum/images/common/back.gif
双纵坐标图代码如下
问题是:我画出图形后,曲线y不知怎么修改它的颜色和粗细虚实,只有曲线s可以在图形中直接采用鼠标修改,请高手指点一下,
也就是说只能修改其中的一条曲线,另一条曲线不知道怎样才能修改它的颜 ...
请搜索版面,尤其是看看精华帖

aiguo 发表于 2007-11-22 11:45

回复 #2 eight 的帖子

哪个位置有啊,找不到呢,请八哥超链接一下,行不?

eight 发表于 2007-11-22 11:59

原帖由 aiguo 于 2007-11-22 11:45 发表 http://www.chinavib.com/forum/images/common/back.gif
哪个位置有啊,找不到呢,请八哥超链接一下,行不?
自己找找吧,我也忘记了。搜索 plotyy 试试吧

aiguo 发表于 2007-11-23 15:59

回复 #4 eight 的帖子

通过高人的贴子,下面的代码解决了部分问题,还有一点始终解不了:左右两边纵轴的颜色怎样改得与相应两曲线的颜色一致?
clf;
dx=0.1;
x=0:dx:4;
y=x.*sin(x);
s=cumtrapz(y)*dx;
=plotyy(x,y,x,s);
set(get(AX(1),'Ylabel'),'String','Left Y-axis','color','k','linewidth',1.2)
set(get(AX(2),'Ylabel'),'String','Right Y-axis','color','r','linewidth',1.2)
set(H1,'LineStyle','--','color','k','linewidth',1.2)
set(H2,'LineStyle',':','color','r','linewidth',1.2)

花如月 发表于 2007-11-23 16:09

回复 #5 aiguo 的帖子

答案就在你发的代码里,读懂后稍作改动

aiguo 发表于 2007-11-23 16:16

回复 #6 花如月 的帖子

花大哥,
从中午弄到了现在还是不会,你还是指点一下吧,怎么修改?

花如月 发表于 2007-11-23 16:32

回复 #7 aiguo 的帖子

再加一条指令:
set(AX(:),'Ycolor',)

aiguo 发表于 2007-11-23 16:39

回复 #7 aiguo 的帖子

小弟试过了,怎么不行呢,同时还请教一下花哥,两边纵轴粗细的改变?
多谢了!

[ 本帖最后由 eight 于 2007-11-23 16:40 编辑 ]

eight 发表于 2007-11-23 16:43

原帖由 aiguo 于 2007-11-23 16:39 发表 http://www.chinavib.com/forum/images/common/back.gif
小弟试过了,怎么不行呢,同时还请教一下花哥,两边纵轴粗细的改变?
多谢了!
建议自己多看看 matlab 帮助,多看看本版的置顶贴,然后动手试试,不要一味指望别人帮你解决一个又一个问题

花如月 发表于 2007-11-23 16:55

回复 #9 aiguo 的帖子

思路就是修改AX相应的属性,具体方法就是用set和get
我告诉你的方法是可行的,如果有问题可能是你版本低。把那条指令一分为2就可以了,要之多尝试。写那条指令的时候我也不知道用那种用法,写了后才知道:lol   所以要不怕出错,多尝试
-------------------------------------------
>> set(AX(:),'Ycolor',)
>>

[ 本帖最后由 花如月 于 2007-11-23 16:57 编辑 ]

dhp1234 发表于 2009-8-29 15:58

双y坐标实例

close all hidden
clear all
clc
% w=boxcar(nfft);
fni1=input('请输入时间序列文件: ','s');
fid1=fopen(fni1,'r');
s=fscanf(fid1,'%s',1);
if same(s,'Curve')
   for i=1:61
             tline=fgetl(fid1);
          end
    else
   
    fid1=fopen(fni1,'r');
end
a1=fscanf(fid1,'%f');
status=fclose(fid1);
n=length(a1);
n2=n/2;
a2=reshape(a1,2,n2);
x1=a2(1,:);
y1=a2(2,:);
fni2=input('输入速度曲线文件','s');
fid2=fopen(fni2,'r');
b=fscanf(fid2,'%f');
n3=length(b);
n4=n3/2;
b2=reshape(b,2,n4);
x2=b2(1,:);
y2=b2(2,:);
p=polyfit(x2,y2,3);
y3=polyval(p,x2);
% plot(x2,y2)
=plotyy(x1,y1,x2,y3);
grid on;
xlabel('时间/s');
set(get(AX(1),'Ylabel'),'string','加速度/g');
set(get(AX(2),'Ylabel'),'string','速度km/h');
set(AX(1),'yTick',[-2:0.5:2]);
% % axes1 = axes('Position',,'Parent',figure1);
% axis(axes1,);
% set(AX(2),'YTick',);
yticks2 = linspace(300,360,9);
set(AX(2),'YLim',,'YTick',yticks2);
set(H2,'linewidth',3);

dreamhui 发表于 2011-5-14 15:21

额,坐标范围还是木有学会啊。

aaa0131106 发表于 2011-7-7 14:11

顶,学习,集腋成裘,聚沙成塔{:{26}:}

shuidixn 发表于 2012-7-21 15:08

在这里总能找到我想学习的,顶啊顶{:{39}:}{:{39}:}
页: [1] 2
查看完整版本: plotyy双纵坐标绘图请教