MATLAB R2014b Graphics --> How to get thin lines (grid, curves, box,...)
Mostra commenti meno recenti
Hello, I started to use the new graphics (2014b) and I see quite some interesting things.
However, I am disappointed to see that one of the most interesting aspects of the MATLAB graphs is gone :( To be clear, I was very happy with the graphs having very thin lines (box, curves,...). It gave a very sophisticated look. Now, even when I try to force the thickness of the lines and the box to very low values, I still get an ugly thick box and lines :( The very thin grid lines I used to have are now very rough and thick... Unless I am doing something wrong ? Any solution for that ?
I raised the question in November 17th of last year without any answer so far: http://blogs.mathworks.com/loren/2014/10/14/matlab-r2014b-graphics-part-2-using-graphics-objects/#comment-44544
Please look at the code below. Executed in 2014a or 2014b gives a huge difference in the precision and look of the graphs. Thanks a lot.
if true
% Example of code
x=1:10;
plot(x,x.*x,'-o','Color', 'r','MarkerFaceColor',[1,0.69,0.39],'LineWidth',0.01);
set(gcf, 'Units', 'centimeters');
afFigurePosition = [0.1 18 10 7]; % [pos_x pos_y width_x width_y]
set(gcf, 'Position', afFigurePosition);
set(gcf, 'PaperPositionMode', 'auto');
grid on;
set(gcf, 'Renderer', 'painters');
resol='300';
print('-dmeta', ['-r' resol], '-painters', ['ExamplCurve_' resol '.emf']);
end

2 Commenti
Oliver Woodford
il 16 Feb 2015
Further references to this issue here: https://github.com/altmany/export_fig/issues/31
Md Zillur Rahman
il 15 Ott 2015
you can solve this issue by using
GridAlpha — Grid-line transparency 0.15 (default) | value in the range [0,1] Grid-line transparency, specified as a value in the range [0,1]. A value of 1 means opaque and a value of 0 means completely transparent.
Setting this property sets the associated mode property to manual.
Example: ax.GridAlpha = 0.5
Risposte (3)
Seth Kosowsky
il 11 Feb 2016
1 voto
I had a similar problem with gridlines, and I found the problem is that when matlab renders into meta, it renders the grid lines as lines, iff the gridalpha properties are = 1.0. If gridalpha values are < 1 (default), then it renders the gridlines as rectangle objects. These objects become thick lined things in, say, powerpoint when you 'ungroup' the object. So, for example for the grid lines, set(gca, 'gridalpha', 1) and set(gca, 'minorgridalpha', 1) solves it. (well it did for me). Good luck.
3 Commenti
Samir
il 12 Feb 2016
Mike Garrity
il 12 Feb 2016
As Yair said in that other thread, there was a fix for the minimum line width bug in R2015b. Have you tried that version?
Samir
il 24 Feb 2016
Saurabh Harsh
il 13 Feb 2015
0 voti
Axes have a property named GridLineStyle which can be modified to get desired grid line style. There is also the property LineWidth for Axes which controls Width of axes outline, tick marks and grid lines together. These properties and more can be found in the following doc page:
1 Commento
Image Analyst
il 16 Feb 2015
Samir's "Answer" moved here:
*Hi, As you can see, I used (in my example given above) the "LineWidth" property and it does not help. Something has changed in 2014b that make the lines by default thick and does not allow to thin them down. :(*
Alex
il 31 Mar 2015
0 voti
Have you tried changing the figure parameter GraphicsSmoothing?
set(gcf,'GraphicsSmoothing','off')
2 Commenti
Samir
il 31 Mar 2015
Debarupa Som
il 20 Lug 2019
Modificato: Debarupa Som
il 20 Lug 2019
I am having similar problems. Also while copying and pasting the figures in word, some of the grid lines are missing. Tried gridalpha, line width and graphic smoothing but it is not getting any better.
Categorie
Scopri di più su Display Image in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!