一幅图是由很多元素组成的。

包含图标题。x轴标签。y轴标签,刻度线等。图1给出了各个元素的一个示意图。

这些全部的元素在scilab中都是能够用代码控制的。

标题

上个笔记上介绍了用xtitle()函数能够在图上加入标题。比方:

title("My Plot"); 

实际上,title函数有三种形式:

title(my_title)

title(my_title,<Property>)

title(<axes_handle>,<my_title>,<Property>)

上次仅仅是用的最简单的形式。利用另外一种形式就能够设置标题的字体、字号等属性了。以下给个样例:

x = 0:0.1:10;
plot(x, sin);
title("$f=sin(x)$","fontname","helvetica bold", "fontsize", 4, "color", "red");

上面样例中,"$f=sin(x)$" 是 Latex 代码片段,scilab 支持主要的latex 数学模式,因此能够产生美丽的标题。

后面设置了字体为helvetica bold, 字号大小为4。颜色为红色。

除此之外还能够设置其它的參数。详细能够參阅帮助文档。

X 轴的Label 和y轴的Label 有两个独立的函数来设置。这两个函数的使用方法与 title 函数基本同样,以下举个样例:

x = linspace(-5,5,51);
y = 1 ./(1+x.^2);
plot(x,y,'o-b');
xlabel("$-5\le x\le 5$","fontsize",4,"color","red");
ylabel("$y(x)=\frac{1}{1+x^2}$","fontsize",4,"color","red");
title("Runge function (#Points ="+string(length(x))+").","color","red","fontsize",4);

另外,不管是标题还是Label,都能够是多行的,对上面的样例稍作改动。

xlabel(["$-5\le x\le 5$";"Second Line"],"fontsize",4,"color","red");
ylabel(["$y(x)=\frac{1}{1+x^2}$";"Second Line"],"fontsize",4,"color","red");
title(["Runge function (#Points ="+string(length(x))+").";"Second Line"],"color","red","fontsize",4);

假设有多条曲线,就须要有个legend 来说明哪条曲线是什么。

见以下的样例:

x = linspace(-5.5,5.5,51);
y = 1 ./(1+x.^2);
plot(x,y,'ro-');
plot(x,y.^2,'bs:');
xlabel(["x axis";"(independent variable)"],"fontsize", 4);
ylabel("y axis","fontsize", 4);
title("Functions","fontsize", 4);
legend(["Functions #1";"Functions #2"])

Legend 的字体和字号不能像label 那样设置。

实验后发现,legend 和刻度上的字共用一套控制命令:

xset("font size", 4); 

至此,这幅图就比較美丽了。

下次讲讲怎样在对数坐标系下画图。未完待续!

Scilab 的画图函数(2)的更多相关文章

  1. Scilab 的画图函数(1)

    Scilab 的画图函数 plot 函数 最主要的是 plot 函数,与 matlab 中的plot 函数类似. xdata = linspace(1,10,50); ydata = sin(xdat ...

  2. Scilab 的画图函数(3)

    我们在做数据画图或函数图像时常常须要使用对数坐标系.尤其是数据的范围跨越非常多个数量级时.通常的线性坐标系下无法表现出数据特征. Scilab 中Plot函数无法画出对数坐标.须要使用 plot2d  ...

  3. OpenCV3.30 画图函数

    画图函数(Draw Functions)都放在imgpro. 例如C++中用: #include <opencv2\imgproc.hpp>

  4. Matlab随笔之画图函数总结

    原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATL ...

  5. matlab画图函数plot()/set/legend

    简单plot()/legend/XY轴范围axis 除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等:测试代码如下 x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); ...

  6. OpenCV入门:(六:基础画图函数)

    有时程序中需要画一些基础的图形,例如直线,矩形,椭圆以及多边形.OpenCV中当然有此类函数. 1.函数介绍 直线line: , , ) img – 图像 pt1 – 直线起点 pt2 – 直线终点 ...

  7. MATLAB学习1 之画图函数

    ezplot适用条件 "ezplot"命令可以用于显函数.隐函数和参数方程作图. 不同函数的使用格式 显函数y=f(x),ezplot函数的调用格式为ezplot(f, [xmin ...

  8. 1.1-学习Opencv与MFC混合编程之---利用画图函数,生成视频,并写入视频文件

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961674 写视频文件 Ø 新建菜单项,Learning OpenCV——> OpenCVr ...

  9. AutoCAD 凸度(bulge)的概念及使用WPF函数画图

    前言  凸度(bulge)是AutoCAD 中一个非常重要的概念,凸度控制着两点之间弧度大小,弧度的方向.各种复杂的图像有可能就是成百上千的弧线组成的.从AutoCAD中导出的数据也有该值,一般的形式 ...

随机推荐

  1. 辛星跟您玩转vim第二节之用vim命令移动光标

    首先值得一提的是,我的vim教程pdf版本号已经写完了,大家能够去下载.这里是csdn的下载地址:csdn下载.假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http:// ...

  2. IE6下css常见bug处理

    1.双倍边距 如下图所示,一个样式里面既设定了“float:left:”又有“margin-left:100px:”的情况,就呈现了双倍情况.如外边距设置为100px, 而左侧则呈现出200px,解决 ...

  3. OSI与TCP/IP你了解多少?

    刚开始接触计算机的时候,非常好奇数据是怎样传输的,通过后期的学习逐步了解了计算机的通信原理.相信很多人在学习计算机的时候,首先入门的第一门课就是计算机的通信原理,而通信原理又离不开两大参考模型:OSI ...

  4. 生产环境中 Ngx_lua 使用技巧和应用的范例

    生产环境中 Ngx_lua 使用技巧和应用的范例 时间 -- :: 51CTO技术博客 原文 http://rfyiamcool.blog.51cto.com/1030776/1252501 主题 L ...

  5. 转载-好用的linux软件合集

    音频 Airtime – Airtime 是一款用于调度和远程站点管理的开放广播软件  Ardour – 在 Linux 上录音,编辑,和混音  Audacious – 开源音频播放器,按你想要的方式 ...

  6. Yarn源码分析之MapReduce作业中任务Task调度整体流程(一)

    v2版本的MapReduce作业中,作业JOB_SETUP_COMPLETED事件的发生,即作业SETUP阶段完成事件,会触发作业由SETUP状态转换到RUNNING状态,而作业状态转换中涉及作业信息 ...

  7. 使用加密的squid配合stunnel实现HTTP代理

    现在大部分人都是用ssh tunnel来搭建socks5代理,其实这种方式效率并不高,ssh tunnel并不是为了做代理而存在的.一个比较好的方法是加密squid配合stunnel实现http代理. ...

  8. uasy-datetimebox的使用

    最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是 ...

  9. SecureCRTPortable.exe 如何上传文件

    如果未安装在命令行输入:yum install lrzsz rz     然后上传自己的文件.在解压

  10. OpenGL ES andoid学习————1

    package com.xhm.getaccount; import javax.microedition.khronos.egl.EGLConfig; import javax.microediti ...