Skip to content

matlab结课时编写的一款简易绘制图表的程序

Notifications You must be signed in to change notification settings

Lasonneil/matlab_littlework

Repository files navigation

Matlab 大作业——简易绘图程序

[TOC]

一、程序功能

1.基本功能[^ 在菜单栏file选项卡]

  • 新建:可新建文本格式数据 [^ (*.txt)​],表格格式数据 ​[^ (*.xls或*.xlsx)​] ,并且新建的文件可以自动命名,可由data0,data1一直往后延续
  • 打开:可以打开数据文件[^ 支持.txt与.xls格式],也可以打开图片文件[^ 支持.jpg .bmp .png格式],文件夹中有示例图片可以打开
  • 保存:可以保存mat格式的数据文件
  • 工具栏功能:平移,显示数据点,打印,显示色条

2.表格数据导入及修改

  • 导入数据:可以导入文本格式与表格格式的数据到程序的表格中

  • 表格数据修改:表格数据可以直接在表格中修改,不需要更改文件再次导入

    ​ 表格数据修改操作包括 add, delete, insert操作,只需在相应编辑框内填上行数与内容,点击相应按钮即可修改,add按钮在最末尾添加,只有它不需要“行数”参数。

    ​ 另外,表格区域右键也可实现这三个操作

3.绘图

全部绘图操作位于坐标轴之下的绘图操作面板中,可以选择许多绘图选项,具体可见程序

简单介绍:

  • 制图操作:plot, plot3, bar, area, feather, comet, polar, pie

  • 冻结与解冻: 实现坐标轴 “绘制多条曲线” 与 “取消绘制多条曲线”

  • 坐标轴操作:选择x,y,z任意一轴,可改变坐标轴显示范围,坐标轴刻度为一般或log形式

  • 标题与图例:可以给图像添加标题和图例

    以上操作均可实现,但是必须事先在编辑框里编辑好或者下拉菜单框里编辑好后点击Done按钮才可生效,如 Axes_Done, Title_Done, Legend_Done三个实现按钮

4.调整图形对象

  • 线条选择:在坐标区的对象拥有图例后可以任意选择
  • 点型:八种点型,默认,实点标记,圆圈标记,叉号形×,十字形+,星号标记*,方形标记□,钻石形标记◇,五角星标记☆
  • 线条颜色:八种颜色,默认,黄色,紫红色,青色,红色,绿色,蓝色,白色,黑色
  • 线型:四种线型,实线,点线,点画线,虚线

​ 功能板块位于表格右侧面板中,可以选择绘图区域任意对象,修改其线型,点型与线色。线宽拖动条可以改变线宽。

​ ==此功能实现注意:== 必须在绘图时加上legend,然后再线条选择下拉菜单中选择相应对象,点击Line按钮即可显示选中状态,可以同时选中多条,多次点击Line按钮即可,之后再在各个下拉菜单中设置好线型,线条颜色,点型,点击Done按钮即可实现

####5.改变图形视角

  • 方位角Az:拖动滑块可实现方位角的360°切换

  • 俯仰角El:拖动滑块可实现俯仰角的360°切换

    实现对坐标区域图形对象的任意观测角度

6.数据操作

时间关系并没有完工,包括菜单栏里的analysis选项卡,本来是和这个面板对应的

二、程序组成

1.程序文件组成

  • 主程序文件: matlab_work.m 和matlab_work.fig
  • 子程序文件:25个子程序模块,供主程序调用以及相互调用
  • 其它文件:示例图片文件,示例数据文件

2.程序板块组成

  • 菜单栏
  • 工具栏
  • 坐标区/绘图区
  • 表格数据区
  • 绘图操作面板
  • 表格数据修改面板
  • 图形操作面板
  • 视图控制面板
  • 数据操作面板(未实现)

三、遇到的困难

1.新建文件的自动命名

2.表格数据的导入

3.绘图区制图与选定坐标轴修改

4.选中坐标区域的某一个图形对象并对其属性进修修改(这个选中比较难)

####5.程序文件过多,调用复杂

四、收获

​ 最大的收获就是对于面向对象编程的理解以及matlab GUI编程各种功能的了解,其余的就是编程经验的增长,还有明白了注释的重要性,对于全局变量还有各种子程序一定要写清楚其功能,以及传递的变量的意义,否则越到后面越容易乱,还有就是命名的规则,好的程序员一定会有好的命名方法,易记易懂。

​ 最大的收获——一把头发。。。

[^ 在菜单栏file选项卡]:

About

matlab结课时编写的一款简易绘制图表的程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published