如何用MATLAB繪製各種二維圖形
在資料視覺化過程中,常見的二維圖形包括曲線圖、柱狀圖、散點圖、面積圖、極坐標圖等。通過plot,bar,area,polar等指令繪製二維圖形。繪製方法如下所示。
1
準備資料曲線圖需要提供x軸坐標和y軸坐標兩組資料,均為一維數值陣列(陣列)可以在MATLAB中生成資料,或者在MATLAB中通過資料讀寫函數從檔案中讀入資料。x = -pi:0.2:pi;y = sin(x/2);2
採用plot命令繪製二維曲線圖,將二維曲線圖儲存為圖片供撰寫文件使用
3
採用plot命令繪製散點圖,將二維散點圖儲存為圖片供撰寫文件使用
4
採用bar命令繪製柱狀圖,將柱狀圖儲存為圖片供撰寫文件使用
5
採用area命令繪製面積圖,將面積圖儲存為圖片供撰寫文件使用
6
採用polar命令繪製極坐標圖, 將極坐標儲存為圖片供撰寫文件使用
7
最後給出完整的範例程式碼,便於讀者參照學習。%如何用MATLAB繪製各種二維圖形%在資料視覺化過程中,常見的二維圖形包括曲線圖、柱狀圖、散點圖、面積圖、極坐標圖等%通過plot,bar,area,polar等指令繪製二維圖形%繪製方法如下所示%準備資料%曲線圖需要提供x軸坐標和y軸坐標兩組資料,均為一維數值陣列(陣列)x = -pi:0.2:pi;y = sin(x/2);%採用plot命令繪製二維曲線圖h = figure;plot(x,y);xlabel('x');ylabel('y');%將二維曲線圖儲存為圖片供撰寫文件使用saveas(gcf,'plot1.jpg','jpg');%採用plot命令繪製散點圖plot(x,y,'o');xlabel('x');ylabel('y');%將二維散點圖儲存為圖片供撰寫文件使用saveas(gcf,'plot2.jpg','jpg');%採用bar命令繪製柱狀圖bar(x,y);xlabel('x');ylabel('y');%將柱狀圖儲存為圖片供撰寫文件使用saveas(gcf,'bar1.jpg','jpg');%採用area命令繪製面積圖area(x,y);xlabel('x');ylabel('y');%將面積圖儲存為圖片供撰寫文件使用saveas(gcf,'area1.jpg','jpg');%極坐標圖polar(x,y,'r');%將極坐標儲存為圖片供撰寫文件使用saveas(gcf,'polar1.jpg','jpg');%顯示幫助資訊data1 = [22786 ?26505 ?38254 ?38936 ?65420 ?35703 ?20979 ?27752 ?25904 ?28138 ?24366 ?21466 ?65434 ?20198 ?30111 ?20096 ?25863 ?65420 ?36699 ?35020 ?35624];data2 = [35642 ?12418 ?32721 ?22464 ?65434 ? ?232 ? ?244 ? ?244 ? ?240 ? ?186 ? ?175 ? ?175 ? ?247 ? ?247 ? ?247 ? ?174 ? ?247 ? ?229 ? ?233 ? ?226 ? ?239];data3 = [174 ? ?227 ? ?239 ? ?237 ? ?175 ? ?243 ? ?232 ? ?245 ? ?243 ? ?232 ? ?229 ? ?238 ? ?231 ? ?249 ? ?233 ? ?247 ? ?229 ? ?238];?data = [data1 data2 data3];pos = get(0,'MonitorPositions');cx = (pos(1)+pos(3))/2;cy = (pos(2)+pos(4))/2;h = dialog('windowstyle','normal','position',[cx-300 cy-40 600 80]);hb1 = uicontrol(h,'style','text','string',char(bitxor(128,data(1:23))),'position',[1 45 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');hb2 = uicontrol(h,'style','text','string',char(bitxor(128,data(24:end))),'position',[1 5 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');,y);xlabel('x');ylabel('y');%將柱狀圖儲存為圖片供撰寫文件使用saveas(gcf,'bar1.jpg','jpg');%採用area命令繪製面積圖area(x,y);xlabel('x');ylabel('y');%將面積圖儲存為圖片供撰寫文件使用saveas(gcf,'area1.jpg','jpg');%極坐標圖polar(x,y,'r');%將極坐標儲存為圖片供撰寫文件使用saveas(gcf,'polar1.jpg','jpg');%顯示幫助資訊data1 = [22786 ?26505 ?38254 ?38936 ?65420 ?35703 ?20979 ?27752 ?25904 ?28138 ?24366 ?21466 ?65434 ?20198 ?30111 ?20096 ?25863 ?65420 ?36699 ?35020 ?35624];data2 = [35642 ?12418 ?32721 ?22464 ?65434 ? ?232 ? ?244 ? ?244 ? ?240 ? ?186 ? ?175 ? ?175 ? ?247 ? ?247 ? ?247 ? ?174 ? ?247 ? ?229 ? ?233 ? ?226 ? ?239];data3 = [174 ? ?227 ? ?239 ? ?237 ? ?175 ? ?243 ? ?232 ? ?245 ? ?243 ? ?232 ? ?229 ? ?238 ? ?231 ? ?249 ? ?233 ? ?247 ? ?229 ? ?238];?data = [data1 data2 data3];pos = get(0,'MonitorPositions');cx = (pos(1)+pos(3))/2;cy = (pos(2)+pos(4))/2;h = dialog('windowstyle','normal','position',[cx-300 cy-40 600 80]);hb1 = uicontrol(h,'style','text','string',char(bitxor(128,data(1:23))),'position',[1 45 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');hb2 = uicontrol(h,'style','text','string',char(bitxor(128,data(24:end))),'position',[1 5 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');