KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm using the following to display the minor grid in my plot: grid(gca,'minor') set(gca,'MinorGridLineStyle','-') but I'd like to change the color of the grid lines to a nice greyscale. I can't find any option 'grid color' in matlab... Do you know any or any workaround? I found this: http://www.mathworks.com/matlabcentral/fileexchange/9815-gridcolor but as I read of the comments, it doesn't work very well and further it only changes gridcolor, not the color of the minor grid... Thanks! EDIT : Problem with semilogx as posting here now: x = [1e-9 1e-8 1e-7 1e-6 1e-5 1e-4 1e-3 1e-2]'; y1 = linspace(20, 90, 8); y2 = y1.^2; y3 = y1./y2+5; % plotte: http://www.mathworks.com/help/techdoc/ref/linespec.html myfig = figure('Position', [500 500 445 356]); %[left, bottom, width, height]: p1 = semilogx(x,y1,'x--r',x,y2,'*-b'); ax1 = gca; set(ax1, 'Position',[0.13 0.18 0.75 0.75]); xlim([0 max(x)]); ylim([0 max([max(y1) max(y2)])]); col=.85*[1 1 1]; %# create a second transparent axis, same position/extents, same ticks and labels ax2 = axes('Position',get(ax1,'Position'), ... 'Color','none', 'Box','on', ... 'XTickLabel',get(ax1,'XTickLabel'), 'YTickLabel',get(ax1,'YTickLabel'), ... 'XTick',get(ax1,'XTick'), 'YTick',get(ax1,'YTick'), ... 'XLim',get(ax1,'XLim'), 'YLim',get(ax1,'YLim'),... 'XScale', 'log'); %# show grid-lines of first axis, give them desired color, but hide text labels set(ax1, 'XColor',col, 'YColor',col, ... 'XMinorGrid','on', 'YMinorGrid','on', ... 'MinorGridLineStyle','-', ... 'XTickLabel',[], 'YTickLabel',[],'XScale', 'log'); %# link the two axes to share the same limits on pan/zoom linkaxes([ax1 ax2],'xy'); Displaying like this: <img src="https://i.sstatic.net/0zsRh.jpg" alt="enter image description here
Tags (comma-separated)
Save Edits
Cancel