MATLAB Answers

Bug with Legend object shading being reset during print

2 views (last 30 days)
Curtis
Curtis on 25 Jul 2016
Edited: Adam Danz on 16 May 2021
This produces a legend with an interpolated icon to better identify the surface, trivial here, but critical with many surfaces you want to print for publication.
figure(2); clf; Z=peaks; surf(Z); hold on; set(gcf,'PaperPositionMode','auto');
patch([-1; 1; 1; -1;]*25+25, [-1; -1; 1; 1;]*25+25,[1; 1; 1; 1;]+4,'EdgeColor','k','EdgeAlpha',0.6,'FaceAlpha',0.4,'LineStyle','--','FaceColor',[1 0 0])
set(gcf,'Position',[ 13 46 1249 556]); set(gcf,'Color',[1 1 1]);
[h,h_icons]=legend([{'peaks'},{'baseline'}]);
set(h_icons(3),'CData',[2 -10 2 10],'FaceColor','interp');
print(gcf,'-dpng',[cd '\BAD_flat_legend'],'-r300');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
what it's supposed to look like
What actually prints
  3 Comments
Curtis
Curtis on 22 Aug 2016
2015a
  1. Were you able to get any output from the code?
  2. If you got the plot did you get interpolated color in the legend?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by