matlab位图矢量化,matlab图形矢量化解决方案
大致思路:matlab中生成矢量格式文件-導(dǎo)入Visio中-編輯-導(dǎo)出合適格式-在其他軟件中使用
準(zhǔn)備工具
Matlab 2014b或更高版本
Visio 2007或更高版本
我查看過(guò),Matlab能夠輸出的矢量化文件大概有*.svg、*.eps、*.pdf三種,但是這三種中,Visio能夠打開(kāi)的只有*.svg。之所以選擇Visio,是因?yàn)楫?huà)示意圖來(lái)說(shuō),Visio基本算得上是比較好的選擇了。
技術(shù)基礎(chǔ)
簡(jiǎn)單的Matlab編程能力(目測(cè)你一天就能學(xué)會(huì)的Matlab知識(shí),差不多就夠用)
理論基礎(chǔ)
理論基礎(chǔ)就直接參看周建鋒老師的博文好了:外鏈網(wǎng)址已屏蔽
繪制圖像
下面以一個(gè)簡(jiǎn)單的圖像示例來(lái)表示:
clc;clear ;close all
x = 0 : 0.05 : 10;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'LineWidth',2)
hold on
plot(x, y2, 'LineWidth', 2)
legend('Line1','Line2','Location','best') % 加圖例,并將之放在最好的Location
axis auto
set(gca,'FontSize',14,'LineWidth', 1,'FontName', 'Times New Name')
set(gcf,'Position',[400 100 800 600]);
if ~exist('./example.svg','file') % 判斷文件是否存在
saveas(gcf,'./example.svg')
end
得到的圖像大致如下:
檢查matlab當(dāng)前的工作路徑下,已經(jīng)有了一個(gè)example.svg的文件。將這個(gè)文件在Visio中打開(kāi)。
更簡(jiǎn)單一點(diǎn)的打開(kāi)方式是:新建Visio文件,直接講example.svg拖入Visio中。
我們知道,*.svg是網(wǎng)絡(luò)通用的矢量圖形格式,很多軟件中都能直接打開(kāi)的,最明顯的軟件當(dāng)然是各種瀏覽器了,比如IE。
在上面的代碼中,exist('./example.svg','file')是判斷matlab的當(dāng)前目錄下文件example.svg是否存在,如果存在就不再生成example.svg 了,避免多次重復(fù)生成。但是如果你的圖形需要更新,記得刪除之前生成的版本。
在Matlab中,另外一種生成*.svg格式的方式是直接在圖形窗口->file->save as...->save as type欄選擇svg格式即可保存為*.svg格式的文件。當(dāng)然,你需要自己命名一個(gè)文件名。
Visio中打開(kāi)
在Visio中打開(kāi)之后,我們大致會(huì)得到這樣的圖形,可以看到,很清晰,矢量化的。
同時(shí),也很明顯,它是高度組合化的。
所以,我們需要將之解組合。
接下來(lái)按照步驟:
1. 選擇圖形(點(diǎn)擊圖形or按ctrl+A也行)
2. 點(diǎn)擊home下的group
3. 點(diǎn)擊解組合(ungroup)
4. 再次重復(fù)動(dòng)作2和3,兩次。也就是說(shuō)說(shuō)總共需要解組合三次。
下面兩張圖作為指引。
group功能
解組合功能
在Visio中的后處理
圖形在Visio中打開(kāi)之后便可以生成為其他的圖形格式或者直接將visio文件插入word中即可。
刪除白色底紋
解組合之后,圖形下層會(huì)有一些白色底矩形,可以將之刪除,使圖形透明。如下圖所示,左下角和右上角的兩塊矩形分別是原來(lái)圖形的曲線畫(huà)布區(qū)域和整個(gè)圖形畫(huà)布區(qū)域的底紋圖形填充方塊。
查看圖形元素
當(dāng)我們選擇自由曲線工具之后,在點(diǎn)擊圖形中的Line2曲線,可以看到,實(shí)際上Line2曲線是由自由曲線通過(guò)控制很多的節(jié)點(diǎn)來(lái)實(shí)現(xiàn)cos函數(shù)圖形的繪制的。這也可以讓我們反向思考matlab底層的繪制函數(shù)時(shí)怎么實(shí)現(xiàn)曲線的繪制的。
修改元素
在Visio中,我們可以選擇任何的元素來(lái)進(jìn)行修改,也可以在上面增加或刪除任何的元素。這給我們修飾圖形方面有了巨大的空間(當(dāng)然不能進(jìn)行數(shù)據(jù)修改以此來(lái)發(fā)文章)。
總結(jié)
以上是生活随笔為你收集整理的matlab位图矢量化,matlab图形矢量化解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2017计算机办公自动化试题,2017办
- 下一篇: gps 数据解析-NMEA 0183协