24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2332  |  回复: 11

ccchristy

铜虫 (小有名气)

[求助] MATLAB 画图小问题

请问MATLAB中可以画出红线框出部分的图吗?
回复此楼

» 收录本帖的淘帖专辑推荐

程序

» 猜你喜欢

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

三思而后行!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

sudo

木虫 (正式写手)

【答案】应助回帖

★ ★ ★
ccchristy(金币+10): 谢谢!! 2011-09-13 22:53:03
余泽成(金币+3): 辛苦了! 2011-09-13 23:18:55
ccchristy(金币+5): 谢谢你 2011-10-09 15:48:48
用MATLAB的话,要善用help

给一段例子吧:
CODE:
theta = 0:pi/100:2*pi;
circleX = cos(theta);
circleY = sin(theta);  %圆

x = -1:0.01:1;
y = -x.^2;  %双曲线

figure;

%subplot('position', [left bottom width height]);
%精细微调:[距离左边 距离下边 图宽 图高]
%SUBPLOT('position',[left bottom width height]) creates an
%   axes at the specified position in normalized coordinates (in
%   in the range from 0.0 to 1.0).

subplot('position', [0.4 0.6 0.6 0.4]);
plot(x, y);
set(gca,'xtick',[],'ytick',[]);  %去掉刻度

subplot('position', [0  0 0.4 0.6]);
plot(-y, x);  %相当于将图plot(x,y)逆时针旋转90度
set(gca,'xtick',[],'ytick',[]);  %去掉刻度

subplot('position', [0.4  0 0.6 0.6]);
plot(circleX, circleY);
set(gca,'xtick',[],'ytick',[]);  %去掉刻度

图的样子大概是


position参数就自己慢慢调吧~
然后就是一些坐标轴取舍的参数,嫌麻烦的话,可以直接在figure的窗口里面,用指针工具慢慢改属性
8楼2011-09-13 16:30:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

sudo

木虫 (正式写手)


余泽成(金币+1): 谢谢参与应助! 2011-09-13 15:19:49
可以用subplot实现
2楼2011-09-13 15:01:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ccchristy

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by sudo at 2011-09-13 15:01:12:
可以用subplot实现

您好,具体点啊,怎么用?
三思而后行!
3楼2011-09-13 15:11:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leimiao_hit

木虫之王 (文学泰斗)

小元

文献杰出贡献

【答案】应助回帖

★ ★
余泽成(金币+2): 2011-09-13 23:17:40
余泽成: 谢谢参与应助! 2011-09-13 23:17:50
有红线部分的数据吗?????????
没有的话,把它存为.fig文件(不能是.jpg或.bmp之类的文件哈),
我再给你一个程序,
把红线内的部分的数据读出来,
就可以hold on了,
而后就可以把整个图画出来了。
..........回首向来萧瑟处,归去,也无风雨也无晴...........
4楼2011-09-13 15:27:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leimiao_hit

木虫之王 (文学泰斗)

小元

文献杰出贡献

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-09-13 23:18:10
matlab 是可以画红线部分的图的哦!
..........回首向来萧瑟处,归去,也无风雨也无晴...........
5楼2011-09-13 15:28:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leimiao_hit

木虫之王 (文学泰斗)

小元

文献杰出贡献

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助,欢迎常来程序语言版! 2011-09-13 23:18:32
Re: 急!请教如何读出figure图中的原始数据?
只保存了用原始数据画的figure曲线,请问如何读出这些原始数据到工作区?

LH = get(gca, 'Children');
xdata = get(LH, 'XData');
ydata = get(LH, 'YData');

如果当前figure里面有多条曲线,那么xdata和ydata返回元胞数组,里面的数据按照堆栈的方式存储,比如,假设当前figure里画了两条曲线,先画了一条黑色的,后画了一条红色的,那么xdata{1}和ydata{1}存的是后画红色曲线的两轴数据,而xdata{2}和ydata{2}则存的是先画黑色曲线的两轴数据。
..........回首向来萧瑟处,归去,也无风雨也无晴...........
6楼2011-09-13 15:30:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ccchristy

铜虫 (小有名气)

没表达清楚意思....数据我都是有的,红框中的图不知道怎么给弄到方形图的上面,同样怎么弄到左边?
三思而后行!
7楼2011-09-13 15:35:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

华水毕业小生

新虫 (初入文坛)

【答案】应助回帖

你试试这个
只保存了用原始数据画的figure曲线,请问如何读出这些原始数据到工作区?

LH = get(gca, 'Children');
xdata = get(LH, 'XData');
ydata = get(LH, 'YData');

如果当前figure里面有多条曲线,那么xdata和ydata返回元胞数组,里面的数据按照堆栈的方式存储,比如,假设当前figure里画了两条曲线,先画了一条黑色的,后画了一条红色的,那么xdata{1}和ydata{1}存的是后画红色曲线的两轴数据,而xdata{2}和ydata{2}则存的是先画黑色曲线的两轴数据。
天天向上~~~
9楼2011-10-08 21:36:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

华水毕业小生

新虫 (初入文坛)

10楼2011-10-08 21:36:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ccchristy 的主题更新
信息提示
请填处理意见