feather 设置坐标刻度_Matlab中将坐标轴放在原点位置
生活随笔
收集整理的這篇文章主要介紹了
feather 设置坐标刻度_Matlab中将坐标轴放在原点位置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載一篇文章,原文鏈接:
https://blog.csdn.net/xiaobiyin9140/article/details/84519419?blog.csdn.net需求
使用matlab畫圖:設置y軸位置,使y軸在x軸的中間
示例
畫一個sigmoid函數
MATLAB代碼
x=-10:0.1:10; y=sigmf(x,[1 0]); plot(x,y)得到的圖像結果為:
怎么將Y軸放在中間呢,而不是在左邊?即如何得到這種效果呢?
方法
新建一個函數,命名為:xyplot.m
運行完代碼
x=-10:0.1:10; y=sigmf(x,[1 0]); plot(x,y)之后,在命令行窗口輸入下述代碼即可:
xyplot附上函數xyplot的代碼并在其中做了必要的注釋,可以實現圖像特性的改變
% 本函數的目的是將坐標軸的中心放在原點位置 function xyplot(x,y) % PLOT %if函數是為了判斷變量是否有兩個,如果是則plot(x,y),如果不是則輸出 Not 2D Data set ! if nargin>0if nargin == 2plot(x,y);elsedisplay(' Not 2D Data set !')end end hold on; % GET TICKS目的是得到原始圖像的刻度 X=get(gca,'Xtick'); Y=get(gca,'Ytick'); % GET LABELS目的是得到原始圖像的刻度上的數值 XL=get(gca,'XtickLabel'); YL=get(gca,'YtickLabel'); % GET OFFSETS Xoff=diff(get(gca,'XLim'))./40; Yoff=diff(get(gca,'YLim'))./40; % DRAW AXIS LINEs % %以下兩行是根據xy的坐標繪制交點在原點的兩條直線,作為改變圖形之后的圖像的軸,所以改變線的特性就是改變軸的特性,比如線寬等 plot(get(gca,'XLim'),[0 0],'k','LineWidth',1.2);%LineWidth可以改變新軸的線寬 plot([0 0],get(gca,'YLim'),'k','LineWidth',1.2);%LineWidth可以改變新軸的線寬 % Plot new ticks繪制新軸上刻度,刻度的大小就是xoff和yoff,同樣改變下面兩個plot的特性可以改變刻度的特性 for i=1:length(X) plot([X(i) X(i)],[0 Yoff],'-k','LineWidth',1.2);%LineWidth可以改變新軸的線寬 end; for i=1:length(Y) plot([Xoff, 0],[Y(i) Y(i)],'-k','LineWidth',1.2);%LineWidth可以改變新軸的線寬 end; % ADD LABELS添加新坐標軸的刻度上的值,通過改變數字2,3可以改變值的位置,可以改變值的字體等特性 text(X,zeros(size(X))-2.*Yoff,XL,'FontSize',20); text(zeros(size(Y))-3.*Xoff,Y,YL,'FontSize',20); box off;%去掉上邊和右邊的軸 % axis square; axis off;%去掉原始圖像的軸 set(gcf,'color','w');%圖片背景為白色總結
以上是生活随笔為你收集整理的feather 设置坐标刻度_Matlab中将坐标轴放在原点位置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 造梦西游2地藏金戒怎么融
- 下一篇: DNF武神现在刷图带什么武器好