声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4952|回复: 16

[绘图技巧] matlab如何进行数据绘图

[复制链接]
发表于 2007-10-11 16:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请教各位高手,如何用matlab将这个图绘画出来?我是新手,请详细告诉我,谢谢!

[ 本帖最后由 eight 于 2007-10-11 19:50 编辑 ]
1.JPG
回复
分享到:

使用道具 举报

发表于 2007-10-11 16:55 | 显示全部楼层
里边涉及的绘图技巧本版面都有,请搜索一下。只要有数据就完全可以绘制出来
发表于 2007-10-11 18:18 | 显示全部楼层
直接在图形界面编辑会简单些,可以直接插入textbox。用程序就会麻烦点,坐标的标注和网格的绘制技巧版面里有。我这里给个用程序近似实现textbox的功能
  1. clear,clc;
  2. x=-10:.1:10;
  3. y=pdf('Normal',x,0,5);
  4. plot(x,y);hold on
  5. rectangle('Position',[-4,0.015,8,0.02],...
  6.           'LineWidth',2,'EdgeColor','k');
  7. text(-3.0,0.030,'最大值:0.08','fontsize',...
  8.      16,'color','r');
  9. text(-3.0,0.025,'最小值:0.01','fontsize',...
  10.      16,'color','r');
  11. text(-3.0,0.020,'平均值:0.04','fontsize',...
  12.      16,'color','r');
复制代码
“textbox”的位置、大小、颜色和线型以及里边字体的属性都可以通过程序调整,可以近似实现不过没有通用性。
也想到用gui里提供的text和edit控件,不过edit不支持多行文本输入,有下边的错误提示:
Warning: Single line Edit Controls can not have multi-line text.
而用text是可以控制换行的,不过边框颜色和背景颜色一样(没找到设置边框颜色的地方),因此效果不太理想:lol 所以相比较而言,如果图上的带框文字如果用程序实现还是用code里的方法会好些

[ 本帖最后由 花如月 于 2007-10-11 18:57 编辑 ]
temp.PNG

评分

1

查看全部评分

发表于 2007-10-11 18:48 | 显示全部楼层

回复 #3 花如月 的帖子

花花,其实他这个文字编辑不是大问题
倒是你这个曲线啊楼主,没有数据怎么画,有的话,最简单的plot
发表于 2007-10-11 18:50 | 显示全部楼层

回复 #4 咕噜噜 的帖子

他应该会有数据的,不然不仅难度大而且似乎没有多大意义。

由于绘制网格和标注的程序讨论过多次了,有现成的。就是那个带框的文字,我觉得应该是在figure界面里通过insert-->textbox加上去的。如果用程序实现我是没有碰到过,因此就尝试尝试:lol 。这样加上3楼的东东再搜索一下论坛,他这个问题就搞定了。

还有即便没有绘图的原始数据,在精华帖子里也是有一个帖子讨论其坐标的求法的。

[ 本帖最后由 花如月 于 2007-10-11 19:35 编辑 ]
发表于 2007-10-11 19:53 | 显示全部楼层
原帖由 花如月 于 2007-10-11 18:18 发表
直接在图形界面编辑会简单些,可以直接插入textbox。用程序就会麻烦点,坐标的标注和网格的绘制技巧版面里有。我这里给个用程序近似实现textbox的功能clear,clc;
x=-10:.1:10;
y=pdf('Normal',x,0,5);
plot( ...


edit 控件能多行显示的,只要设置 max 属性为 2 就可以了

评分

1

查看全部评分

发表于 2007-10-11 20:04 | 显示全部楼层

回复 #6 eight 的帖子

edit变成多行后,右边会多个上线翻行的东西。text的边框颜色有没有办法设置?
发表于 2007-10-11 20:18 | 显示全部楼层
原帖由 花如月 于 2007-10-11 20:04 发表
edit变成多行后,右边会多个上线翻行的东西。text的边框颜色有没有办法设置?


恩,用 edit 控件的话,可以自制一个图片覆盖其表面,即设置其 CData 属性,不过比较复杂。用你上面的代码简单点吧,呵呵

text 的边框颜色:

  1. EdgeColor
  2. ColorSpec | {none}

  3. Color of edge drawn around text extent rectangle plus margin.
  4. This property enables you to specify the color of a box drawn around the text Extent plus the text Margin. For example,
  5. the following code draws a red rectangle around text that labels a plot.

  6. text(3*pi/4,sin(3*pi/4),...
  7. '\leftarrowsin(t) = .707',...
  8. 'EdgeColor','red');
复制代码

评分

1

查看全部评分

发表于 2007-10-11 20:46 | 显示全部楼层

回复 #8 eight 的帖子

晕了,把问题搞复杂了。忘了text函数本身有个'EdgeColor'属性了:loveliness: 我没找到text控件设置边框颜色的地方,经你提示text函数本身有这么个属性。那个带框的文字用下边一个text指令就搞定了:
plot(0:pi/20:2*pi,sin(0:pi/20:2*pi));
text(4,0.6,{'最大值:0.08','最小值:0.01','平均值:0.04'},...
     'EdgeColor','red','fontsize',14,'fontname','宋体');
发表于 2007-10-11 21:31 | 显示全部楼层
原帖由 花如月 于 2007-10-11 20:46 发表
晕了,把问题搞复杂了。忘了text函数本身有个'EdgeColor'属性了:loveliness: 我没找到text控件设置边框颜色的地方,经你提示text函数本身有这么个属性。那个带框的文字用下边一个text指令就搞定了:
plot(0:pi ...



这个简洁多了:)
发表于 2007-10-11 22:11 | 显示全部楼层

回复 #9 花如月 的帖子

如月,佩服了
matlab你们研究得这么透,又学习了。
发表于 2007-10-11 22:26 | 显示全部楼层

回复 #11 无水1324 的帖子

要学习的还很多呀,离透我可是差远了。和eight等前辈们的差距绝不可小视呀!
发表于 2007-10-11 22:32 | 显示全部楼层
原帖由 花如月 于 2007-10-11 22:26 发表
要学习的还很多呀,离透我可是差远了。和eight等前辈们的差距绝不可小视呀!

我也是略懂一二而已,呵呵,而且毕业后都没有以前那么频繁地使用 matlab 了,再迟点恐怕脑子会退化,还好,论坛助我平日锻炼一下脑子:loveliness:

另外,上面我说的“用自制图片设置 CData 属性”的方法可能行不通,因为设置了以后 text 控件的表面就被这个图片覆盖,这样一来,就可能显示不到文字了。还是用 text 函数比较方便、实用些
 楼主| 发表于 2007-10-15 10:57 | 显示全部楼层
谢谢大家的指点,因为我没有数据,55555555!
发表于 2007-10-15 17:53 | 显示全部楼层

回复 #14 cscjx 的帖子

先将图形数据识别(检测)出来
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-8 12:14 , Processed in 0.253586 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表