Figure marker colors change slightly on export

2 visualizzazioni (ultimi 30 giorni)
MDShhhh
MDShhhh il 5 Apr 2015
Modificato: John Kelly il 19 Mag 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)

Risposte (2)

Mahdiyar
Mahdiyar il 5 Apr 2015
Modificato: John Kelly il 19 Mag 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 Commento
Jan
Jan il 5 Apr 2015
The problem of the OP does not concern the fonts or the resolution, but only the colors.

Accedi per commentare.


Jan
Jan il 5 Apr 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 Commento
MDShhhh
MDShhhh il 5 Apr 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');

Accedi per commentare.

Categorie

Scopri di più su Printing and Saving in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by