problem when saving plot
Show older comments
Hi there,
I have created a pcolor plot and it can display without any problem. e.g.
f = figure(); h = pcolor(lon, lat, K); set(h,'edgecolor','none');
It has no problem to display on screen, then I save it into file
print('pcolorplot.jpg')
It appears that no content on the plotting area. I tried to print it in PDF, too, but none of these action work.
Attached the screen display and the save files.
Regards,
Calvin

Answers (4)
Chad Greene
on 6 Jan 2015
Edited: Chad Greene
on 6 Jan 2015
1 vote
Try specifying a different renderer with set(gcf,'renderer','opengl'), and if that doesn't work, set(gcf,'renderer','painters') and when you use print include the -painters or -opengl option. And/or use export_fig.
2 Comments
Calvin Cheung
on 7 Jan 2015
Jorge Bosch
on 3 Jul 2018
That worked for me too, but using saveas, not export_fig
Jorge
on 5 Jan 2015
0 votes
Hi! Have you tried using the _saveas() command? Sintax is saveas(figure_handle,'filename.ext') Hope it helps!
1 Comment
Calvin Cheung
on 6 Jan 2015
Image Analyst
on 7 Jan 2015
Why are you using pcolor() instead of imshow()? Did you know pcolor drops off one row and one column? Here's proof:
m = magic(4) % Make 4 by 4 matrix
pcolor(m); % Display 4 by 4 matrix.
colormap(jet(16));
colorbar

2 Comments
Calvin Cheung
on 7 Jan 2015
Image Analyst
on 7 Jan 2015
Not sure about non-linearity. This is what it says about one of its inputs:
'Xdata' — X-axis limits of nondefault spatial coordinate system
two-element vector
X-axis limits of nondefault coordinate system, specified as a two-element vector. This argument establishes a nondefault spatial coordinate system by specifying the image XData. The value can have more than two elements, but imshow uses only the first and last elements.
Example: 'Xdata',[100 200]
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 |
So it looks like it has to be linear, though it can be linear differently in the x and y direction. Though going from 5 to 4.1 can be linear, but it can also be non-linear if the halfway point is not 4.5 but something different like 4.2 or 4.9 or something. Not sure what you have - if it's truly non-linear or if it's just linear but different factors of linear in the x and y direction.
Joseph Powe
on 16 Mar 2020
0 votes
I can display a color figure on the screen, but when I try to print using the print function using '-dpdf', it comes out black & white.
1 Comment
Joseph Powe
on 16 Mar 2020
Never mind, solved it. Didn't notice default was gray scale.
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!