How to copy a plot to clipboard programmatically

74 visualizaciones (últimos 30 días)
Gregory Smith
Gregory Smith el 11 de Mayo de 2021
Comentada: Adam Danz el 21 de Mayo de 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 comentario
Adam Danz
Adam Danz el 21 de Mayo de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Khaled Hamed
Khaled Hamed el 18 de Mayo de 2021
  2 comentarios
Gregory Smith
Gregory Smith el 21 de Mayo de 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 el 21 de Mayo de 2021
Try
editmenufcn(newFig,'EditCopyFigure');
or
hgexport(newFig,'-clipboard');
or
print(newFig,'-dmeta');
where newFig is the handle of the new invisible figure

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Printing and Saving en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by