d3.js 旋转图形_MATLAB 的图形处理
一基本繪圖函數(shù)
1. 平面曲線繪圖
plot(Y) 如Y是實(shí)向量,則繪出橫坐標(biāo)值為序號,縱坐標(biāo)值為Y的曲線,如Y是虛數(shù),則橫坐標(biāo)值為Y的實(shí)部,縱坐標(biāo)為Y的虛部的曲線,點(diǎn)與點(diǎn)之間用線段相連。如果Y是矩陣,則畫出Y中各列相對于行號的曲線.
plot(X,Y), 如X,Y為同維實(shí)向量,則繪出橫坐標(biāo)為X縱坐標(biāo)為Y的曲線 plot(X,Y, 'Linespec'), 按Linespec所規(guī)定的線型、標(biāo)記點(diǎn)、顏色繪線。其中Linespec為字符串,是下列字符的組合
線型: 實(shí)線 - ,長劃虛線--,短虛線:,點(diǎn)劃線-. ,
標(biāo)記點(diǎn):點(diǎn)., 加號+,星號*,圈o,叉x,方塊s,菱形d,上三角^, 下三角v,左三角<, 有三角>, 五角星p,六角星h
顏色:紅r,綠g,藍(lán)b,黃y,粉紅m,青c,白w,黑k
甚至還可以設(shè)置線寬'LineWidth',標(biāo)記點(diǎn)邊緣顏色'MarkerEdgeColor',標(biāo)記點(diǎn)填充顏色'MarkerFaceColor',標(biāo)記點(diǎn)大小'MarkerSize' 如下例
plot(X,Y,'Linespec', '-bs', 'LineWidth',2,MarkerEdgeColor','y','MarkerFaceColor','y','MarkerSize',10)如要畫幾條曲線在一張圖上,只要在plot函數(shù)中依次輸入即可,例
ploy(x1,y1,'r',x2,y2,'b')如果幾條曲線的橫坐標(biāo)值都相等為x,可以把幾條曲線的縱坐標(biāo)值組成一個矩陣Y的列向量,然后plot(x,Y)即可,這時各條曲線的顏色按照規(guī)定的次序循環(huán)表示。
如果幾條曲線的縱坐標(biāo)值都相等為y,可以把幾條曲線的橫坐標(biāo)值組成一個矩陣X的列向量,然后plot(X,y)即可,這時各條曲線的顏色按照規(guī)定的次序循環(huán)表示。
不然,把各曲線的橫坐標(biāo)值組成一個矩陣X的列,列坐標(biāo)組成矩陣Y的列,然后plot(X,Y).
要在圖的正上方給出標(biāo)題,可用title('標(biāo)題')實(shí)現(xiàn),如
title('正弦函數(shù)圖形','FontName','隸書','FontSize',20), 數(shù)學(xué)符號可用TeX語言輸入,常用的幾個:leq 小于等于,pi 圓周率,int 積分號,sum 求和號 leftarrow 左箭頭 rightarrow右箭頭要加注坐標(biāo)軸:
xlabel('橫坐標(biāo)的注') ylabel('列坐標(biāo)的注')加注圖例:
legend('字符串1','字符串2','字符串3',pos) 其中pos省卻時圖例位于右上角,0時為最佳位置,2為左上角,3為左下角,4為右下角,-1為圖的右側(cè)如要使圖例的邊框不顯示,可用legend('boxoff'), 如要圖例不顯示,可用legend('hide')
要在圖形上的(x,y)處加寫文本可用text(x,y,'加寫的文本')
使用鼠標(biāo)在指定位置寫上文本:
gtext('文本')這時在圖形窗口出現(xiàn)一個隨鼠標(biāo)移動的十字交叉線,將鼠標(biāo)指針移動到要寫入的位置時,點(diǎn)擊鼠標(biāo)左鍵即可。
圖形窗口
MATLAB的所有圖形都顯示在特定的窗口中,稱為圖形窗口??捎胒igure創(chuàng)建一個新的圖形窗口,每個圖形窗口有一個編號,顯示在圖形窗口的左上角。如Figure 1等, 如果沒創(chuàng)建圖形窗口,則在調(diào)用畫圖命令時自動創(chuàng)建一個圖形窗口;如已有一個圖形窗口,在缺省的情況下直接利用該窗口繪圖,原窗口中如有圖像則被覆蓋,(如在hold on情況下則是圖像疊加);如存在多個打開的圖形窗口,則將最后使用過得圖形窗口作為當(dāng)前窗口??梢杂胒igure(n)表示將第n個圖形窗口作為當(dāng)前窗口(或者用鼠標(biāo)點(diǎn)擊需要指定的圖形窗口)
用clf命令清除當(dāng)前圖形窗口中的內(nèi)容,用shg命令將當(dāng)前窗口放在最前面。
自定義坐標(biāo)軸的顯式刻度,例
t=-pi:pi/20:pi; y=sin(t); plot(t,y) set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',{'-pi','-pi/2','0','pi/2','pi'}) yong用鼠標(biāo)確定曲線上點(diǎn)的x坐標(biāo),在曲線上該點(diǎn)畫紅色星號,
t=0:pi/20:2*pi; plot(t,cos(t)); hold on set(gcf,'WindowButtonDownFcn',['p=get(gca,''CurrentPoint'');','px=p(1,1);py=cos(px);','plot(t,cos(t));','plot(px,py,''*r'');']) axis square要在一個圖形窗口上畫幾個圖形,可用subplot(m,n,p)把圖形窗口分成m乘n個小窗口,并把第p個作為當(dāng)前窗口,窗口的順序是從左上角開始按行排列,然后用繪圖函數(shù),如plot等把圖畫在這個窗口中。
坐標(biāo)軸的控制
用axis命令來控制坐標(biāo)軸
axis([xmin,xmax,ymin,ymax]) 指定x與y軸的范圍 axis tight 以數(shù)據(jù)的大小為坐標(biāo)軸的范圍 axis ij 使縱坐標(biāo)向下為正 axis equal 使各坐標(biāo)軸刻度增量相同 axis square 使坐標(biāo)軸長度相同(刻度增量不必相同) axis off 不顯示坐標(biāo)軸其他平面繪圖函數(shù)
對數(shù)坐標(biāo)繪圖:semilogx;semilogy; loglog
極坐標(biāo)繪圖: polar
雙Y 軸圖:plotyy;
條形:bar;例
x = -2.9:0.2:2.9; bar(x,exp(-x.*x),'b')符號數(shù)學(xué)的簡易繪圖函數(shù)easyplot,ezpolar,ezplot3,ezcontour,ezmesh,ezsurf.ezsurfc;fplot例
syms x ezplot(erf(x))syms t ezpolar(1+cos(t))syms t ezplot3(sin(t),cos(t),t,[0,6*pi])syms t s x=cos(s)*cos(t); y=cos(s)*sin(t); z=sin(s); ezsurf(x,y,z,[0,pi/2,0,3*pi/2]) view(17,40) shading interpfplot;可以畫函數(shù)y=f(x)的圖像
如定義一個函數(shù)(函數(shù)向量)
function Y = myfun(x) Y(:,1) = 200*sin(x(:))./x(:); Y(:,2) = x(:).^2;再建立一個函數(shù)句柄
fh = @myfun;則可畫圖像
fplot(fh,[-20 20])三維條形圖: bar3;
水平條形圖: barh; 三維水平條形圖:bar3h;
n組條形圖 group
餅圖:pie ; 三維餅圖pie3;
直方圖: hist;玫瑰圖,在極坐標(biāo)下的直方圖: rose; 例
theta = 2*pi*rand(1,50); rose(theta)桿狀圖: stem;三維桿狀圖 stem3
階梯圖:stairs;
彩色分散點(diǎn)圖:scatter;可以改變點(diǎn)的大小和顏色的分散點(diǎn)圖;
填充的2-D圖函數(shù)area;例
Y = [1, 5, 3;3, 2, 7;1, 5, 3;2, 6, 1]; area(Y) grid on colormap summer set(gca,'Layer','top') title 'Stacked Area Plot'方向及向量圖
羅盤圖compass; 羽毛圖feather; 箭圖quiver; 3維箭圖quiver3;三維空間的繪圖函數(shù)
畫空間曲線:plot3
畫空間曲面函數(shù)
生成網(wǎng)格矩陣:meshgrid;
mesh;surf; meshc;surfc; 帶有等位線(contour)的圖 meshz; 帶有簾(curtain)的圖 pcolor 用顏色代表高度的平面圖 surfl; 可指定光照效果的圖例
[x,y] = meshgrid(-3:1/8:3); z = peaks(x,y); surfl(x,y,z); shading interp colormap(gray); axis([-3 3 -3 3 -8 8])surface; 低級繪圖函數(shù)
畫多面體填充顏色的函數(shù)
fill, 畫多邊形填充圖
fill3, 畫多面體填充表面圖
例
t = (1/16:1/8:1)'*2*pi; x = sin(t); y = cos(t); fill(x,y,'r') axis square畫旋轉(zhuǎn)曲面:cylinder
t = 0:pi/10:2*pi; cylinder(2+cos(t),30); %在圓周上取30個網(wǎng)格點(diǎn) grid off %去掉坐標(biāo)網(wǎng)格線 axis off %去掉坐標(biāo)軸 colormap('default') %采用默認(rèn)色彩圖jet shading interp %使圖形表面為透明,無網(wǎng)格色彩圖共有以下幾種
hsv - Hue-saturation-value color map.hot - Black-red-yellow-white color map.gray - Linear gray-scale color map.bone - Gray-scale with tinge of blue color map.copper - Linear copper-tone color map.pink - Pastel shades of pink color map.white - All white color map.flag - Alternating red, white, blue, and black color map.lines - Color map with the line colors.colorcube - Enhanced color-cube color map.vga - Windows colormap for 16 colors.jet - Variant of HSV.prism - Prism color map.cool - Shades of cyan and magenta color map.autumn - Shades of red and yellow color map.spring - Shades of magenta and yellow color map.winter - Shades of blue and green color map.summer - Shades of green and yellow color map.也可以自定義色彩圖
畫橢球面
ellipsoid(x0,y0,z0, a,b,c) %畫中心在(x0,y0,z0), 三個半長軸分別為a,b,c的橢球面動畫制作之例:
for k = 1:16 % 用for循環(huán)制作圖像plot(fft(eye(k+16)))axis equalM(k) = getframe; endmovie(M,30) %放映動畫30次總結(jié)
以上是生活随笔為你收集整理的d3.js 旋转图形_MATLAB 的图形处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不同存储结构的文件磁盘io操作次数_My
- 下一篇: 中countif函数_Count系列函数