MATLAB plot Tiny Tricks -- by Optic_css

Use set(gca, ·, ·, ·, ···) HANDLE for editing

[纪录] 这里是我常常应用的MATLAB制图Code,记录下来是为了当前更快地实现一些根本的制图Setting类的操作,换句话说,当作查阅的备用叭... ...

上面所展现的Codes是一些根本的绘图Setting,很容易能看懂,根本蕴含了对于一张图像

  • 'colormap'
  • 'grid'
  • 'box'
  • 'xtick'、'ytick'、'LinwWidth'、'FontName'、'Color'
  • 'xlabel'、'ylabel'、'title'、'legend'
  • 'axis'

的设置,这样曾经算是根本满足了需要... ...

% Close all image windowsclose all;%———————————————————————————————————————————————————%|···········Plotting/Facing Codes Here············|%———————————————————————————————————————————————————% Retain control of the current diagram windowhold on;% 逆転/バック・キック colormapcolormap(flipud(othercolor('Spectral9')));% colormap(othercolor('Spectral9'));% Add a plaid shadinggrid on;% Remove the outer frame of the drawing windowbox off;%———————————————————————————————————————————————————%|·········Use set(·) to Change the style··········|%———————————————————————————————————————————————————% set(gca,'xticklabel',roundn((50:50:500)*deltal,-1));set(gca,'xtick',20:20:180);% set(gca,'yticklabel',roundn((50:50:500)*deltal,-1));% set(gca,'yTickLabel',num2str(get(gca,'yTick')','%.12f'));set(gca,'ytick',50:50:500);set(gca,'Linewidth',1.5);set(gca,'FontName','Times New Roman');set(gca,'Color',[1.000000000000000   0.388235294117647   0.278431372549020]);%———————————————————————————————————————————————————%|·················set the labels··················|%———————————————————————————————————————————————————xlabel('\xi');ylabel('\xi');title('\xi');legend('相邻方向差分值','FontName','微软雅黑');%———————————————————————————————————————————————————%|······Axis setting, use the handle axis(·)·······|%———————————————————————————————————————————————————axis([0 5400 30 80]);legend(['$\bar{x}(\lambda)$';'$\bar{y}(\lambda)$';'$\bar{z}(\lambda)$'],'interpreter','latex');

上面则是一个小trick,对于如何将图窗background变通明的Setting办法,次要是前面对于'InvertHardCopy'的setting,这是属于某个凶恶分享者的资源,

%———————————————————————————————————————————————————%|·····················Trans·······················|%———————————————————————————————————————————————————% If you ever wondered this: which is particularly useful when you export it to formats that feature transparency, like eps, gif, png, ...% you created a figure and guess the configuration as below:set(gcf,'color','none');set(gca,'color','none');% but this following little detail took me ages to figure outset(gcf,'InvertHardCopy','off');

A useful (MAYBE) HEX-RGB to String convertor

上面是一个将hexadecimal RGB色调代号转换为MATLAB实用的色调值,也即

  • 输出一个$\rm string:\ ''ff 63 47''/''ff-63-47''$
  • 输入一组向量

    $\rm col=1\times3$
    $1.000000000000000\ \ \ 0.388235294117647\ \ \ 0.278431372549020$

设计中采纳inline function $\rm hexstr(·)$,做成了一个vector函数的格局,当需要很大的时候,可能显著减小calling所带来的耗费,

col = hex2nstr(["ff 63 47","2e 8b 57","6a 5a cd"]);%————————————————————————————————————————————————————————————%|··by Optic_css, the nStr(·) can help you get the [1,1,1]··|%————————————————————————————————————————————————————————————function nStr = hex2nstr(hexstr)    % Function that helos to get the normalized str used in MATLAB color spaces    nStr = [];    for io = 1:length(hexstr)        % Splitor to get the divided types, "ff 0a 89"/"ff-0a-89" -> "ff","oa","89"        splitor = strsplit(hexstr(io), '["-", ]',"DelimiterType","RegularExpression");        % Divide the splitor into 3 pieces        dec_ = cell2mat(splitor(1,1));        dec__ = cell2mat(splitor(1,2));        dec___ = cell2mat(splitor(1,3));        % Divided by 255: "ff", and take string addtion        nStr = [nStr;[hex2dec(dec_)/255 hex2dec(dec__)/255 hex2dec(dec___)/255]];    endend