필터 지우기
필터 지우기

Copying a heatmap (in a subplot) to clipboard

조회 수: 2 (최근 30일)
Jason
Jason 2019년 9월 30일
댓글: Jason 2019년 10월 1일
Hi, I have 4 subplots of which the 1st one is a heatmap. I would like to automatically put this into clipboard and have tried the following/
ax1=subplot(1,4,1)
h = heatmap(T,'data1','data2','ColorVariable','data5');
h.Colormap = cool;
%h.FontSize = 6
h.XLabel = 'X position (um)';
h.YLabel = 'Y position (um)';
h.CellLabelFormat = '%.1f'
%Copy to clipboard
currAxes = gca
newFig = figure('visible','off');
newHandle = copyobj(currAxes,newFig);
print(newFig,'-dmeta');
%print('-clipboard','-dmeta')
However this doesn't seem to work, is what I want to achieve possible?
thanks
Jason

채택된 답변

Adam Danz
Adam Danz 2019년 9월 30일
You can copy the heatmap handle on to a new figure. Here's a functional demo with comments.
% load built-in matlab data
load patients
tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,...
Smoker,Weight,Location);
% Plot a scatter plot & heatmap
fh1 = figure();
subplot(2,1,1)
plot(tbl.Age, tbl.Weight,'bo')
subplot(2,1,2)
h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus');
% Create new figure and copy heatmap to figure
fh2 = figure();
h2 = copyobj(h,fh2);
% reposition heatmap axes
h2.Position = [0.13 0.11 0.65 0.80];
  댓글 수: 3
Adam Danz
Adam Danz 2019년 9월 30일
편집: Adam Danz 2019년 9월 30일
In the code from your question, it appeared to me as if you are trying to copy the heatmap to another figure. You mentioned that it's not working but didn't provide more detail.
To copy the figure on the clipboard,
print(fh2, '-dmeta')
Where fh2 is the figure handle.
If the problem persists, please provide the full error message or a detailed description of what's not working.
Jason
Jason 2019년 10월 1일
Thankyou

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Colormaps에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by