Bug with Legend object shading being reset during print

1 次查看(过去 30 天)
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 个评论
Div Tiwari
Div Tiwari 2016-8-8
I was unable to reproduce this in MATLAB R2016a with any of the graphics renderers. Could you tell me which release of MATLAB you're using?
Curtis
Curtis 2016-8-22
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?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by