Matlab发布脚本时如何组织图片?如何调整publish生成的HTML图片布局?
在Matlab中发布内容时组织图片的方法
一、实现图片间的强制换行
你之前用fprintf('<br/>')没用,是因为这个命令的输出只会到命令行,而Matlab的publish工具不会把命令行的普通输出解析成HTML标签。试试下面两种更有效的方法:
方法1:用代码分隔符(%%)拆分绘图块
把每个绘图的代码放在独立的%%代码块中,publish会自动为每个代码块生成独立的段落,图片之间自然会换行分隔:
%% 生成第一张图 x = 1:10; plot(x, rand(1,10)); title('随机序列图1'); %% 生成第二张图 plot(x, rand(1,10)); title('随机序列图2');
发布后的HTML里,两张图会分别在各自的代码块区域,自带换行和分隔。
方法2:在注释中插入HTML换行标签
如果不想拆分代码块,可以在每个绘图完成后,添加一行包含<br/>或<p>标签的注释,publish会解析注释中的HTML:
% 生成第一张图 x = 1:10; plot(x, rand(1,10)); title('随机序列图1'); % <br/><br/> <!-- 这里添加两个换行,增大间距 --> % 生成第二张图 plot(x, rand(1,10)); title('随机序列图2');
这样发布后,两张图之间会插入换行,实现强制分隔。
二、将图片插入表格实现规整布局
如果想要更整齐的排版(比如并排显示图片),可以直接在脚本的注释中编写HTML表格代码,然后把对应绘图的代码放在表格单元格的注释块内:
% 以下是包含两张图片的表格 % <table border="1" cellpadding="10"> % <tr> % <td> %% 表格第一列的图片 plot(1:10, sin(1:10)); title('正弦曲线'); % </td> % <td> %% 表格第二列的图片 plot(1:10, cos(1:10)); title('余弦曲线'); % </td> % </tr> % </table>
发布后的HTML会生成一个带边框的表格,两张图片分别在左右单元格中,布局非常规整。你可以调整表格的border、cellpadding、width等属性来优化样式。
另外,如果你需要更复杂的布局,还可以修改Matlab的publish模板,但上面的方法已经能满足大部分日常需求啦。
内容的提问来源于stack exchange,提问作者Dims
相关产品推荐
相关产品推荐

