How to copy a plot to clipboard programmatically

72 Ansichten (letzte 30 Tage)
Gregory Smith
Gregory Smith am 11 Mai 2021
Kommentiert: Adam Danz am 21 Mai 2021
I'm trying to copy a plot to clipbard programmatically.
I have an old data plotting tool bult using guide. It has a cmd button to deploy the plots into a window where the plot is formatted perfectly to comply with our journel figure formatting rules. In that deployed window I can click Edit > Copy Figure to copy the figure to clipbard and maintain all the formatting; however, I want to do that programmatically.
According to the documentation, this should work:
print -clipboard -dbitmap
However, that copies the plotting tool gui, not the deployed figure window.
I also tried:
figure(handles.PlotOptions.DeployHandle)
print -clipboard -dbitmap
That didn't change anything. I cant work out how to set focus to the deployed figure window not the plot tool window.
I also tried:
copygraphics(handles.PlotOptions.DeployHandle,'ContentType','vector')
%and
copygraphics(handles.PlotOptions.DeployHandle)
This copied the correct figure window; however, it trimmed out all the borders.
I just want exactly what happens when you create a plot figure and click Edit > Copy Figure
  1 Kommentar
Adam Danz
Adam Danz am 21 Mai 2021
I also tried:
copygraphics(handles.PlotOptions.DeployHandle,'ContentType','vector')
This copied the correct figure window; however, it trimmed out all the borders.
What does that mean? Could you should us a screenshot? I use copygraphics all the time to do what you're describing.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Khaled Hamed
Khaled Hamed am 18 Mai 2021
  2 Kommentare
Gregory Smith
Gregory Smith am 21 Mai 2021
thank you, but both of these options result in the figure being saved to a file. I already have code that does that.
I'm looking to copy the plot to the clipboard so it can quickly be pasted into a document, or email.
Khaled Hamed
Khaled Hamed am 21 Mai 2021
Try
editmenufcn(newFig,'EditCopyFigure');
or
hgexport(newFig,'-clipboard');
or
print(newFig,'-dmeta');
where newFig is the handle of the new invisible figure

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Printing and Saving finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by