24小时热门版块排行榜    

查看: 1542  |  回复: 10

lwjcug

金虫 (小有名气)

[求助] matlab中画a=1.96直线线求助

小弟进行一个突变检验(0.05水平),其中要画两条a=1.96和a=-1.96的置信区间线。如下:
a=1.96;
a2=-1.96;
year=1981:2011;
plot(year,a,'k-','LineWidth',1);
plot(year,a2,'k-','LineWidth',1);

但是画出来的直线一直是点,都是单个的点,成不了线,我使用的是实线参数,而调整线宽、颜色参数都不管用
但是如果plot(year,a2,'k*','LineWidth',1);换为符号型参数,就可以调其他的
现在需要画实线或虚线点型的不好看
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

学术蠢驴
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

kaiko2010

新虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
dubo: 欢迎讨论 2012-06-22 21:57:31
plot(year,a2*ones(size(year,2),1),'k','LineWidth',1);
plot(year,a*ones(size(year,2),1),'k-','LineWidth',1);
5楼2012-06-22 10:05:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
lwjcug: 金币+5, ★★★★★最佳答案 2012-06-22 11:20:07
dubo: 金币+1, 欢迎讨论 2012-06-22 21:57:17
兄弟用line,plot是按照你的数据点plot的
CODE:
line([1981;2011],[1.96;1.96],'Color','k','LineWidth',1);
hold on;
line([1981;2011],[-1.96;-1.96],'Color','k','LineWidth',1);
ylim([-3,3]);

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-06-21 17:30:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


dubo: 金币+1, 欢迎讨论 2012-06-22 21:57:21
非用plot也可,但是你需要将a和a2都扩展到跟year一样长度才行
CODE:
year=1981:2011;
a=1.96*ones(1,length(year));
a2=-1.96*ones(1,length(year));
plot(year,a,'k-','LineWidth',1);
hold on;
plot(year,a2,'k-','LineWidth',1);
ylim([-3,3]);

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2012-06-21 17:33:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yulai860

铁虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
dubo: 金币+1, 欢迎讨论 2012-06-22 21:57:26
用plot 画也可以吧,k后边不加    —     应该就可以啦

[ 发自手机版 http://muchong.com/3g ]
好好学习天天向上
4楼2012-06-22 08:32:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lwjcug

金虫 (小有名气)


dubo: 金币+1, 欢迎讨论 2012-06-22 21:57:37
引用回帖:
5楼: Originally posted by kaiko2010 at 2012-06-22 10:05:17
plot(year,a2*ones(size(year,2),1),'k','LineWidth',1);
plot(year,a*ones(size(year,2),1),'k-','LineWidth',1);

伙计,谢谢啊,想给你分,可是点不开,评不了,呵呵,因为悬5分都给了上一位哥们
学术蠢驴
6楼2012-06-22 11:22:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lwjcug

金虫 (小有名气)


dubo: 金币+1, 欢迎讨论 2012-06-22 21:57:43
引用回帖:
2楼: Originally posted by libralibra at 2012-06-21 17:30:14
兄弟用line,plot是按照你的数据点plot的
line(,,'Color','k','LineWidth',1);
hold on;
line(,,'Color','k','LineWidth',1);
ylim();

哥们,追加一问,如本贴图,怎么把那个X轴移到中间y=0的位置啊,现在的样子是X轴在下面。我还是菜鸟
学术蠢驴
7楼2012-06-22 11:23:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


dubo: 金币+1, 欢迎讨论 2012-06-22 21:57:51
引用回帖:
7楼: Originally posted by lwjcug at 2012-06-22 11:23:36
哥们,追加一问,如本贴图,怎么把那个X轴移到中间y=0的位置啊,现在的样子是X轴在下面。我还是菜鸟...

行是行,就是好麻烦啊.
我索性给你把x,y全部移动到了中心,变成了四象限那种图,
如果需要移动x,y轴位置,根据我的注释,自己改动下数值吧
CODE:
% original data
year = 1981:2011;
a1 = 1.96 * ones(1,length(year));
a2 = -1.96 * ones(1,length(year));

% plot data
plot(year,a1,'k',year,a2,'k');

% xlimit and y limit
xlim([1981,2011]);
ylim([-3,3]);

% hold
hold on;

% get original ticks
X = get(gca,'Xtick');
Y = get(gca,'Ytick');

% get original labels
XL = get(gca,'XtickLabel');
YL = get(gca,'YtickLabel');

% new x-y limits
X_Lim = get(gca,'XLim');
Y_Lim = get(gca,'YLim');

% new position of y-axis
x_offset = diff(X_Lim)/2+X_Lim(1);

% plot new x axis
plot(X_Lim,[0 0],'k','linewidth',2);

% plot new y axis
plot([x_offset x_offset],Y_Lim,'k','linewidth',2);

% small triangles
ax = [X_Lim(end),X_Lim(end)-diff(X_Lim)/100,X_Lim(end)-diff(X_Lim)/100;0,diff(Y_Lim)/100,-diff(Y_Lim)/100];
ay = [x_offset,x_offset+diff(X_Lim)/120,x_offset-diff(X_Lim)/120;Y_Lim(end),Y_Lim(end)-diff(Y_Lim)/80,Y_Lim(end)-diff(Y_Lim)/80];
fill(ax(1,:),ax(2,:),'k');
fill(ay(1,:),ay(2,:),'k');

% get ticks offsets
Xoff = diff(X_Lim)./80+x_offset;
Yoff = diff(Y_Lim)./60;

% draw new ticks
for i=1:length(X)
    plot([X(i) X(i)],[0 Yoff],'-k');
end;
for i=1:length(Y)
    plot([Xoff, x_offset],[Y(i) Y(i)],'-k');
end;

% draw new tick labels
text(X-1,zeros(size(X))-2.*Yoff,XL);
text(Xoff+ones(size(Y))*0.5,Y,YL);

% hide original axis
axis off;

% set white background
set(gcf,'color','w');

结果:
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
8楼2012-06-22 17:38:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lwjcug

金虫 (小有名气)

引用回帖:
8楼: Originally posted by libralibra at 2012-06-22 17:38:35
行是行,就是好麻烦啊.
我索性给你把x,y全部移动到了中心,变成了四象限那种图,
如果需要移动x,y轴位置,根据我的注释,自己改动下数值吧
% original data
year = 1981:2011;
a1 = 1.96 * ones(1,length(year));
...

哥们,太感谢了,呵呵
学术蠢驴
9楼2012-06-22 20:24:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kaiko2010

新虫 (小有名气)

这不很简单吗?
画完图后   点击  view--property editor
专改坐标属性,想改啥就改啥
10楼2012-06-23 19:43:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lwjcug 的主题更新
信息提示
请填处理意见