Why does my figure print with a white background and white axes, even though I have set the axes and figure "Color" property to something other than white?

51 views (last 30 days)
Why does my figure print with a white background and white axes, even though I have set the axes and figure "Color" property to something other than white?
I use the following code to create my figure:
figure
plot(1:10)
set(gca, 'color', 'g')
set(gcf, 'color', 'r')
Then, when I print to a file, the background color of the axes and the figure is white:
print -djpeg myfig.jpg

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
You can correct this by using the InvertHardCopy property for figure windows. The following information is found in the documentation for InvertHardCopy:
This property changes hardcopy to black objects on white background and affects only printed output. Printing a figure or axes having a background color (Color property) that is not white results in poor contrast between graphics objects and the figure background and also consumes a lot of printer toner.
This property is set to "on" by default. If you want to print figures so that the figure or axes objects have the same background color as set in the Color property, please set the InvertHardcopy property to "off". For example:
figure
plot(1:10)
set(gca, 'color', 'g')
set(gcf, 'color', 'r')
set(gcf, 'InvertHardcopy', 'off')
print -djpeg myfig.jpg

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!