Figure marker colors change slightly on export

4 visualizaciones (últimos 30 días)
MDShhhh
MDShhhh el 5 de Abr. de 2015
Editada: John Kelly el 19 de Mayo de 2016
I'm creating a figure with marker colors defined using custom rgb identifiers in the 0 to 1 format (e.g. [.1 0 .6]). Upon save with the print() or saveas() functions, the colors are slightly altered.
I assume this is because upon export, MatLab defaults to some standard 256 color palette and changes the colors to closest fit. How can I circumvent this and keep the exact colors I've defined?
Thank you
(Using MatLab2015a)

Respuestas (2)

Mahdiyar
Mahdiyar el 5 de Abr. de 2015
Editada: John Kelly el 19 de Mayo de 2016
Somtimes, since the computer has not the font that you are using in the matlab, it may cause such a problem like this.
If you need to save the figure exactly the same as you see on the figure, it would be better to use some kind of tools like Snniping in windows to take the photo from the screen with high resolution. Of course, if you do not have many figures.
Regards,
  1 comentario
Jan
Jan el 5 de Abr. de 2015
The problem of the OP does not concern the fonts or the resolution, but only the colors.

Iniciar sesión para comentar.


Jan
Jan el 5 de Abr. de 2015
Matlab does not use a 256 color palette. RGB values remain exactly as they are defined, except if you modify them explicitly, e.g. when you export the contents of the figure to a 256-color PNG. So please post the code you are using for the export and explain how you detect the changes. Perhaps only the tool, which opens the images afterwards modify the colors.
  1 comentario
MDShhhh
MDShhhh el 5 de Abr. de 2015
I visually detect the changes in Apple's standard image viewer, Preview. If I take a screenshot of the figure produced in MatLab's viewer, load that in Preview, and place it directly next to the printed figure file loaded by Preview, they are visibly different. See attached file:
Below is the code:
figure;
hold on
scatter(x1, y1, [], [.1 0 .6], 'filled')
scatter(x2, y2, [], [1 .3 .1], 'filled')
scatter(x3, y3, [], [.6 .3 1], 'filled')
set(gcf,'PaperType', 'uslegal');
set(gcf,'PaperOrientation','landscape');
set(gcf,'PaperUnits','normalized');
set(gcf,'PaperPosition', [0 0 1 1]);
print(gcf, '-dpdf', 'Figures\Test.pdf');

Iniciar sesión para comentar.

Categorías

Más información sobre Printing and Saving en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by