matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...
這里介紹hist函數(shù)結(jié)合bar函數(shù)繪制統(tǒng)計(jì)直方圖
一組原始采集數(shù)據(jù),如:data=[2 3 -4 -1 4 -5 1 5 -2 -3]; 數(shù)據(jù)范圍為range=-5:5;
首先可以采用hist函數(shù)進(jìn)行分組:
n=hist(data,range); 將數(shù)據(jù)data根據(jù)range進(jìn)行分組;返回?cái)?shù)組n,n的維數(shù)同range;
然后用bar畫圖:
bar(range,n,'hist'); ?繪制直方圖(柱狀圖),對(duì)分組較少的適用。
有時(shí)并沒有給定分組范圍range,而是希望分成count組:
還是使用hist函數(shù)分組:
n=hist(data,count); 將原始數(shù)據(jù)data自動(dòng)分成count組,根據(jù)原始數(shù)據(jù)值函數(shù)自動(dòng)設(shè)定分組范圍,返回值n為數(shù)組,維數(shù)為count,內(nèi)容為每一分組的頻數(shù);
bar(n); 繪制直方圖;
如果這里沒有給定count,hist(data)默認(rèn)分成10組。
hist(data,range)直接繪制直方圖,但是每個(gè)bar之間有間隙,所以,如果想沒有間隙的直方圖,推薦使用第一種方法。分組如果較多的話,推薦這種方法。
matlab常用的幾個(gè)快捷鍵:
ctrl+r ? ?注釋
ctrl+t ? ?取消注釋
ctrl+i ? ?自動(dòng)對(duì)齊程序
ctrl+] ? ?增加縮進(jìn)
ctrl+[ ? ?減少縮進(jìn)
ctrl+y ? 恢復(fù)撤銷的更改
ctrl+w ?關(guān)閉當(dāng)前窗口
ESC ? ?清除命令行中一行
ctrl+u ? 同ESC
ctrl+k ? 清除光標(biāo)后至行尾的字符
1. 坐標(biāo)軸刻度設(shè)置set(gca, ’XTick’, [0 1 2]) X坐標(biāo)軸刻度數(shù)據(jù)點(diǎn)位置,在值為0,1,2的地方顯示刻度set(gca,'XTickLabel',{'a','b','c'}) X坐標(biāo)軸刻度處顯示的字符因此,set(gca,'xtick',[100 200 300],'xticklabel',[1 2 3]) X軸在值為100,200,300的地方顯示刻度1,2,3例1:y_tick = {'1.00e-004','1.01e-002','2.01e-002','3.01e-002','4.01e-002',...'5.01e-002','6.01e-002','7.01e-002','8.01e-002','9.01e-002'}set(gca, 'YtickLabel',y_tick);
例2:set(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick')));
例1中,當(dāng)tick值較復(fù)雜時(shí),可將tick的值提前賦值到一個(gè)變量中,隨后利用變量即可;
例2中,在坐標(biāo)軸刻度的顯示過程中可以用sprintf函數(shù),這樣即可根據(jù)用戶的需要顯示坐標(biāo)刻度;注:"|"不可省略
set(gca,'xtick',[]) 不顯示x軸的坐標(biāo)刻度
set(gca,'FontName','Times New Roman','FontSize',14)設(shè)置坐標(biāo)軸刻度字體名稱,大小‘FontWeight’,’bold’ 加粗 ‘FontAngle’,’italic’ 斜體對(duì)字體的設(shè)置也可以用在title, xlabel, ylabel等中
2. 坐標(biāo)軸范圍設(shè)置
axis(gca,[xmin xmax ymin ymax]) 設(shè)置坐標(biāo)軸范圍
axis auto 根據(jù)數(shù)據(jù)自動(dòng)設(shè)置坐標(biāo)軸范圍
axis off ?關(guān)閉坐標(biāo)軸
set(gca,'xlim',[-20 20],'ylim',[-20 20]);設(shè)置當(dāng)前圖像的坐標(biāo)軸范圍,等同于axis(gca,[xmin xmax ymin ymax])語(yǔ)句
xlim(gca,[-20 20]);設(shè)置當(dāng)前圖像的x坐標(biāo)軸范圍
ylim(gca,[-20 20]);設(shè)置當(dāng)前圖像的y坐標(biāo)軸范圍
3. 坐標(biāo)軸網(wǎng)格
set(gca,'xgrid','on');開啟x軸網(wǎng)格
grid on;開啟坐標(biāo)軸網(wǎng)格
MATLAB保存生成高質(zhì)量的清晰圖片
saveas保存jpg格式的圖像線條變粗、變模糊,整幅圖片就像有一層很薄的水印蓋在上面。
解決方案:
(1)其實(shí)matlab的出圖都是矢量圖,你就直接在‘edit’里面選擇copy,然后就paste到word里面,伸縮自如,保證清晰
(2)可以試試print
如要把圖保存成jpeg的格式的話,可以這樣print -djpeg -r85 jpegtest
其中,-djpeg是格式 d表示device,jpeg是格式,-r85 表示像素 85dpi ? r 表示resolution ,也就是分辨率的第一個(gè)字母jpegtest 是文件名
也可以
print('-djpeg','-r300',Path)
或
print(gcf,'-djpeg','-r300',Path)
print( ... )
Same as above but this calls PRINT as a MATLAB function instead of
a MATLAB command. The difference is only in the parenthesized argument
list. It allows the passing of variables for any of the input
arguments and is especially useful for passing the handles
of figures and/or models to print and filenames.
注:dpi的含義
Dots Per Inch的縮寫。每英寸所打印的點(diǎn)數(shù)或線數(shù),用來表示打印機(jī)打印分辨率。一般來說,該值越大,表明打印機(jī)的打印精度越高。dpi是指單位面積內(nèi)像素的多少,也就是掃描精度。dpi越小,掃描的清晰度越低,由于受網(wǎng)絡(luò)傳輸速度的影響,web上使用的圖片都是72dpi,但是 沖洗照片不能使用這個(gè)參數(shù),必須是300dpi或者更高350dpi。例如要沖洗4*6英寸的照片,掃描精度必須是300,那么文件尺寸應(yīng)該是 (4*300)*(6*300)=1200像素*1800像素。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 模拟并发请求_PHP模拟并发请求
- 下一篇: matlab 特征值不排序,matlap