失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab画图plot以及自动保存图像

matlab画图plot以及自动保存图像

时间:2023-10-27 16:30:41

相关推荐

matlab画图plot以及自动保存图像

plot

(1)plot(x),x为向量时,以该元素的下标为横坐标、元素值为纵坐标绘出曲线。

(2)plot(x,y),x、y为同维数组时,绘制以x、y元素为横纵坐标的曲线。

(3)plot(x1,y1,x2,y2,...),绘制以x1为横坐标、y1为纵坐标的曲线1,以x2为横坐标、y2为纵坐标的曲线2,等等。其中x为横坐标,y为纵坐标,绘制y=f(x)函数曲线。

常用语句见示例:

figure('color','w') % 设置图片背景色为白色figure('Name','测试数据图')% 第一张图就会显示figure1 测试数据图。常见代码直接用figureplot(aa(t1,1),'-ro') % 绘图时plot命令中末尾'-.r*'、'--mo'、':bs' 可改变线条和点的样式,如:m代表颜色后面的o代表点的样式set(gca,'XTick',[0:10:320]); %设定x坐标范围和间距set(gca,'YTick',[95:1:101]); %设定y坐标范围和间距% set(gca,'XLim',[0 315]);% 设定x坐标的范围。注意set语句要放在plot后面才起作用% axis([xmin xmax ymin ymax]); % axis设置坐标轴在指定的区间,注意这个必须同时设定xy% xlim([xmin xmax]) % 只设置x坐标范围% ylim([ymin ymax]) % 只设置y坐标范围% legend('A') % 添加图例 ylabel('均值'); xlabel('样本数'); % 添加x,y标签% ylabel('values of sin(t) and e^{-x}') % 添加y轴信息 e^{-x}是显示指数的方法title(['第',num2str(t),'列信号']); % 添加图片title%% 多行title% firstline = '测试集的实际分类和预测分类图'; % secondline= ['Accuracy=',num2str(accuracy)];% title({firstline;secondline},'Fontsize',12);% title('{\s}^{-1}');

只想显示图像的一部分:

plot(data(:,1)) ; xlim ([5100 10000]); % 设置要显示的x轴范围

1) 关于plot线条和颜色,可参见:

(1条消息) matlab画图(plot)命令。长期更新!_xiaotao_1的博客-CSDN博客_matlab画图plot

b blue 蓝.point -solidg green 绿ocircle :dottedr red 红xx-mark -. dashdot c cyan 青+plus-- dashed m magenta 品红 *star (none) no liney yellow 黄ssquarek black 黑ddiamondw white 白vtriangle (down)^triangle (up)<triangle (left)>triangle (right)ppentagram 五角星hhexagram 六角星

其他Matlab中较美观的颜色(RGB三元组):

%% 适用于Matlab的RGB颜色[0.00,0.45,0.74] //蓝[0.85,0.33,0.10] //橙红[0.93,0.69,0.13] //橙黄[0.72,0.27,1] //淡紫[0.47,0.67,0.19] //淡绿

举例:

%% 对点scatter(x,y,'Marker','o','LineWidth',1,...'MarkerEdgeColor','black','MarkerFaceColor',[0.93,0.69,0.13]);// 'Marker' 点的形状// 'LineWidth' 点的边线粗细// 'MarkerEdgeColor' 点的边线颜色// 'MarkerFaceColor' 点的填充色%% 对线plot(x,y,'LineWidth',1.5,'Color',[0.85,0.33,0.10]);// 'LineWidth' 线粗细// 'Color' 线的颜色

2) legend:

legend(string1,string2,string3, …) %分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。

legend('A','B')% 如果添加多个标签,就依次往后排 legend('A','B','NorthEastOutside'); %强行将注释视窗放在图形视窗的外右边。

3)set设置图形对象属性

set(H,NameArray,ValueArray)使用元胞数组NameArrayValueArray指定多个属性值。要为m个图形对象中的每个图形对象设置n个属性值,请将ValueArray指定为m×n的元胞数组,其中m = length(H),而n等于NameArray中包含的属性名的数量。

功能包括:

设置当前图像字体大小和格式、图像线宽和尺寸比例、图片的大小

设置当前图像网格线线条类型、宽度,网格线可以设定为虚线会比较好看

set(gcf, 'DefaultAxesLineWidth',1); set(gcf,'unit','centimeters','position',[3 5 7 5]); set(gca, 'FontSize', 16); %set调用将图像字体设置为16set(gca,'FontName','Monospaced','FontSize',16,'LineWidth',1.5); %设置字体格式和线宽set(gca,'FontName','SimSun','FontSize',16,'LineWidth',1.5);% 宋体set(gca,’xtick’,[]) %去掉x轴的刻度 set(gca,’ytick’,[]) %去掉y轴的刻度 set(gca,’xtick’,[],’ytick’,[]) %同时去掉x轴和y轴的刻度

调节图片大小:

set (gca,'position',[0.1,0.1,0.8,0.8] ) % 其中,输入数值,分别是左边距,下边距,横向宽度,纵向高度。

绘制网格线:

set(gca,’XGrid’,’on’); %绘制X轴垂直网格线set(gca,‘gridlinestyle’,’:’,'GridColor','k',‘linewidth’,3)%设置网格线线条类型、颜色和宽度set(gca,‘box’,‘on’)将图轴方框绘制出来

set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');

set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','baseline');

set(findobj('FontSize',12),'FontSize',figure_FontSize);

gca返回的是当前图片的坐标句柄。

第一句get(gca,'XLable')获取当前坐标的X标签,然后使用set去设置这个标签的字体大小等参数。

同理第二句是获取Y标签,然后设置字体和位置信息。

第三句:findObj可以获取字体大小是12的对象的句柄,然后将所有的字体更改为自己设置的(figure_FontSize)大小。

4)画直线

plot([x1,x2],[y1,y2])

其中(x1,y1)是起点,(x2,y2)是终点。

5) 其他

hold on 图像重叠显示

grid on 放在绘图函数末尾,显示网格

grid off 关闭网格

例:

>> [X,Y,Z] = peaks;surf(X,Y,Z)grid offgrid on

​​

6) 举例:

(摘自主页y = mapminmax(‘apply‘,x,ps)与mapminmax(‘reverse‘,y,ps)中引用的bp神经网络的例子的部分代码)

figureplot(1:N,T_test,'b:*',1:N,T_sim,'r-o') % T_test和T_sim 用不同线条显示在同一图中legend('真实值','预测值')xlabel('预测样本')ylabel('辛烷值')string = {'测试集辛烷值含量预测结果对比';['R^2=' num2str(R2)]};title(string)

结果:

可以参考:

MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息_黄其才_的博客-CSDN博客

plot和stem区别:

plot是连续函数,而stem画出来是离散函数,杆图。

line 画辅助线

line()函数可以在画布中画一些辅助线。

line([起点横坐标,终点横坐标],[起点纵坐标,终点纵坐标])

line([1,2],[3,4])将画出(1,3)到(2,4)的一条直线,而不是(1,2)到(3,4)。

举例:

subplot(131)line([1,2],[3,4]);subplot(132)line([1,1],[3,5],'color','k','linestyle','--');subplot(133)line([3,5],[2,2],'linestyle','-','color','r');

图像保存

1) saveas 清晰度低

saveas(gcf, 'save.jpg'); %保存当前窗口的图像,格式为jpg,命名为save.jpg

2) print

print(figure_handle,fileformat,filename)

figure_handle:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄

fileformat:单引号字符串,指定存储格式:

png格式: '-dpng'; jpeg格式: '-djpeg'; tiff格式: '-dtiff'; bmp格式: '-dbitmap'; gif格式:'-dgif'; emf无损格式:'-dmeta'

filename:文件名

img =gcf; %获取当前画图的句柄print(img, '-dpng', '-r600', './img.png') %即可得到对应格式和期望dpi的图像%第一个参数为fig的句柄,第二个-r后加对应的分辨率dpi,第二个为-d加对应的图像格式%最后加上文件路径及名称字符串。

3) imwrite

img = getimage(gcf); %获取当前坐标系图像imwrite(img,'img.tiff', 'tiff', 'Resolution', 600) %只有tiff可以使用Resolution参数, png可以使用X/YResolution, 参考help imwrite

参考链接:

set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top'); – MATLAB中文论坛 ()

(1条消息) Matlab导出高DPI图像——生成高分辨率.eps .tiff .jpg图像的方法_Vertira的博客-CSDN博客_matlab输出图片分辨率

(1条消息) [Matlab]绘图颜色_iTsing203的博客-CSDN博客_matlab画图颜色

(1条消息) matlab中的画线函数line()_逸凌Time的博客-CSDN博客_matlab画直线

如果觉得《matlab画图plot以及自动保存图像》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。