copygraphics
プロットまたはグラフィックスの内容をクリップボードにコピー
説明
copygraphics( は、obj)obj で指定されたグラフィックス オブジェクトの内容をシステムのクリップボードにコピーします。グラフィックス オブジェクトは、任意のタイプの座標軸、Figure、スタンドアロンの可視化、タイル表示チャート レイアウト、または Figure 内のコンテナーのいずれかにできます。クリップボードの内容は、他のアプリケーションおよびドキュメントに貼り付けることができます。
copygraphics( は、内容をクリップボードにコピーするための追加オプションを指定します。たとえば、obj,Name,Value)copygraphics(gca,Resolution=300) は、現在の座標軸の内容を 300 DPI のイメージとしてクリップボードにコピーします。
例
ライン プロットを作成して現在の座標軸を取得します。次に、座標軸の内容をクリップボードにコピーします。
plot(rand(5,5)) ax = gca; copygraphics(ax)

イメージを表示して現在の座標軸を取得します。次に、座標軸の内容を 300 DPI のイメージとしてコピーします。
I = imread('peppers.png'); imshow(I) ax = gca; copygraphics(ax,'Resolution',300)

R2025a 以降
コピーされた内容の幅と高さを指定する場合は、同程度のサイズと縦横比をもつ Figure を作成します。たとえば、サイズが 500×400 ピクセルの Figure にステム プロットを作成します。その後、両側に 10 ピクセルのパディングを含む 500×400 ピクセル サイズのイメージとして座標軸をコピーします。
f = figure; f.Position(3:4) = [500 400]; stem(1:10,"filled",LineWidth=2) ylim padded ax = gca; copygraphics(ax,Units="pixels",Width=500,Height=400, ... ContentType="image",Padding=10)

注釈が座標軸の境界からはみ出しているプロットを表示します。次に、Figure の内容をコピーします。
plot(1:10) annotation('textarrow',[0.06 0.5],[0.73 0.5],'String','y = x ') f = gcf; copygraphics(f)

棒グラフを表示して現在の座標軸を取得します。次に、座標軸の内容をベクトル グラフィックスとしてコピーします。
bar([10 22 31 43]) ax = gca; copygraphics(ax,'ContentType','vector')

2 つのプロットをタイル表示チャート レイアウトで表示します。次に、関数 copygraphics に TiledChartLayout オブジェクトを渡して、両方のプロットをクリップボードにコピーします。
t = tiledlayout(2,1); nexttile plot([1 2 3]) nexttile plot([3 2 1]) copygraphics(t)

いずれかのプロットのみをコピーする場合は、座標軸戻り引数を指定して関数 nexttile を呼び出します。次に、座標軸を関数 copygraphics に渡します。
ヒートマップ チャートを表示します。次に、チャートをベクトル グラフィックスとしてコピーし、透明な背景を指定します。
h = heatmap(rand(10,10)); copygraphics(h,'ContentType','vector','BackgroundColor','none')

プロットを表示して、座標軸の内容をクリップボードにコピーするためのボタンを表示する copyapp.m というプログラム ファイルを作成します。ボタンのコールバック関数で、関数 copygraphics を呼び出します。
function copyapp f = uifigure; ax = uiaxes(f,'Position',[25 25 400 375]); plot(ax,[0 0.3 0.1 0.6 0.4 1]) b = uibutton(f,'Position',[435 200 90 30],'Text','Copy Plot'); b.ButtonPushedFcn = @buttoncallback; function buttoncallback(~,~) copygraphics(ax) end end
関数 copyapp を呼び出してアプリを実行します。[Copy Plot] ボタンをクリックすると、座標軸の内容がクリップボードにコピーされます。座標軸の周囲の領域 (ボタンを含む) はコピーされません。
copyapp

入力引数
グラフィックス オブジェクト。次のオブジェクトのいずれかとして指定します。
Axes、PolarAxes、GeographicAxesオブジェクトなど、任意のタイプの座標軸。heatmapチャートなどのスタンドアロンの可視化。関数
tiledlayoutで作成されたタイル表示チャート レイアウト。Panel、Tab、ButtonGroupオブジェクトなど、Figure 内のコンテナー。子コンテナーをもつコンテナーを指定すると、場合によっては MATLAB® でエラーが発生することがあります。詳細については、隣接コンテナーはサポートなしを参照してください。 (R2025a 以降)
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: copygraphics(gca,Resolution=300) は、現在の座標軸の内容を 300 DPI のイメージとしてコピーします。
コピーする内容のタイプ。次のオプションのいずれかとして指定します。
"auto"— MATLAB は、内容がベクトル グラフィックスかイメージかを制御します。"vector"— 任意のサイズにスケーリングできるベクトル グラフィックスとして内容をコピーします。"image"— ラスタライズされたイメージとして内容をコピーします。
メモ
"vector" オプションを指定した場合、一部の可視化では漂遊線などのアーティファクトが含まれることがあります。
インチあたりのドット数 (DPI) の解像度。1 以上の正の整数として指定します。
ContentType が "vector" の場合は、解像度を指定しても効果はありません。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
背景色。"current"、"none"、RGB 3 成分、16 進数カラー コード、または色名として指定します。背景色により、座標軸またはチャート周囲の余白の色が制御されます。
値が
"current"の場合、背景色は親コンテナーの色に応じて設定されます。たとえばfigure(Color="red")を使用して赤の Figure を作成するなど、プロパティを設定して親コンテナーの色を明示的に設定している場合、コピーされるグラフィックスにはその色が使用されます。親コンテナーの色が設定されていない場合、コピーされるグラフィックスの背景色はテーマによって決まります。ライト テーマの背景は白です。ダーク テーマの背景は濃いグレー (ほぼ黒) になります。 (R2025a 以降)
値が
"none"の場合、背景色は、ContentTypeの値に応じて、透明、白、または濃いグレー (ほぼ黒) に設定されます。ContentType="vector"の場合、背景色は透明です。ContentType="image"の場合、ライト テーマの Figure の背景色は白、ダーク テーマの Figure の背景色は濃いグレー (ほぼ黒) になります。ContentType="auto"の場合、背景色は MATLAB により、コピーする内容のタイプを判別するためのヒューリスティックな方法に従って設定されます。
あるいは、カスタム色または名前の付いた色を指定します。
カスタム色および名前の付いた色
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
| 色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
|---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
コピーされるグラフィックスの色空間。"rgb" または "gray" として指定します。
"rgb"— トゥルーカラー RGB の内容をコピーします。"gray"— 内容をグレースケールに変換します。
R2025a 以降
コピーされるグラフィックスの幅。"auto" または正の数値として指定します。カスタムの幅を指定するには、数値を指定します。既定の単位は、イメージの場合はピクセル、ベクトル グラフィックスの場合はポイントです。名前と値の引数 Units を使用して、異なる単位を指定できます。すべての幅の値には、グラフィックスの周囲のパディングが含まれます。コピーされたグラフィックスには既定でパディングの小さい余白が含まれますが、これは名前と値の引数 Padding を指定して変更できます。
Width の値が "auto" の場合、Height の値に基づいて縦横比を維持する幅が選択されます。
メモ
Widthを数値として指定した場合、ContentTypeも"image"または"vector"として指定する必要があります。内容をピクセルとしてコピーする際、既定の
Width("auto") は名前と値の引数Resolution(既定では150) によって異なります。既定の幅を使用し、サイズを画面上とより厳密に一致させるには、名前と値の引数Resolutionをget(groot,"ScreenPixelsPerInch")によって返される値に指定します。以下に例を示します。sppi = get(groot,"ScreenPixelsPerInch"); copygraphics(gca,Resolution=sppi)
R2025a 以降
コピーされるグラフィックスの高さ。"auto" または正の数値として指定します。カスタムの高さを指定するには、数値を指定します。既定の単位は、イメージの場合はピクセル、ベクトル グラフィックスの場合はポイントです。名前と値の引数 Units を使用して、異なる単位を指定できます。すべての高さの値には、グラフィックスの周囲のパディングが含まれます。コピーされたグラフィックスには既定でパディングの小さい余白が含まれますが、これは名前と値の引数 Padding を指定して変更できます。
Height の値が "auto" の場合、Width の値に基づいて縦横比を維持する高さが選択されます。
メモ
Heightを数値として指定した場合、ContentTypeも"image"または"vector"として指定する必要があります。内容をピクセルとしてコピーする際、既定の
Height("auto") は名前と値の引数Resolution(既定では150) によって異なります。既定の高さを使用し、サイズを画面上とより厳密に一致させるには、名前と値の引数Resolutionをget(groot,"ScreenPixelsPerInch")によって返される値として指定します。以下に例を示します。sppi = get(groot,"ScreenPixelsPerInch"); copygraphics(gca,Resolution=sppi)
R2025a 以降
コピーされるグラフィックスの周囲のパディング。次の表のいずれかの値として指定します。
| 値 | 説明 | 例 |
|---|---|---|
| x 軸と y 軸のラベル、タイトル、および装飾 (凡例やカラー バーなど) が十分収まるパディングを含めます。 | 棒グラフを作成し、 イメージ周囲のグレーの境界線が取得領域の輪郭です。境界線はコピーされるイメージには含まれません。
bar(1:5)
title("My Bar Chart")
ax = gca;
copygraphics(ax)
|
| Figure ウィンドウに示されているのと同じ相対量のパディングを含めます。 | 棒グラフを作成し、 イメージ周囲のグレーの境界線が取得領域の輪郭です。
bar(1:5) title("My Bar Chart") ax = gca; copygraphics(ax,Padding="figure")
|
正の数値 | 指定した量のパディングを含めます。 | 棒グラフを作成し、100 ピクセルのパディングを含むイメージとしてコピーします。 イメージ周囲のグレーの境界線が取得領域の輪郭です。
bar(1:5) title("My Bar Chart") ax = gca; copygraphics(ax,ContentType="image",Padding=100)
|
R2025a 以降
Width、Height、Padding の値の単位。"auto"、"pixels" (イメージのみ)、"inches"、"centimeters" または "points" (1 ポイントは 1/72 インチ) として指定します。
既定値の "auto" では、単位はイメージの場合は "pixels"、ベクトル グラフィックスの場合は "points" に設定されます。
メモ
Width、Height、または Padding に値を指定する場合、ContentType も "image" または "vector" として指定する必要があります。
R2025a 以降
元の縦横比の維持。"auto"、"on" または "off" として指定します。
値が "auto" の場合、copygraphics では、名前と値の引数 Width および Height が指定されているかどうか、その組み合わせによって縦横比が変化するかどうかに応じて、"on" または "off" を選択できます。copygraphics は、名前と値の引数 Width または Height (両方ではない) が指定されている場合は元の縦横比を維持します。両方の次元の値が指定されており、それらの値によって縦横比が変化する場合は、元の縦横比を維持しません。
次の表は、"on" と "off" の値の動作をまとめています。
| 値 | 説明 | 例 |
|---|---|---|
| 元のグラフィックスの縦横比を維持します。
| 棒グラフを作成します。次に、チャートをイメージとしてコピーします。 イメージ周囲のグレーの境界線が取得領域の輪郭です。境界線はコピーされるイメージには含まれません。
bar(1:5) ax = gca; copygraphics(ax,Width=250,ContentType="image", ... PreserveAspectRatio="on")
チャートをイメージとしてコピーし、
copygraphics(ax,Width=250,ContentType="image", ... Height=350,PreserveAspectRatio="on")
|
| 元の縦横比を維持しません。 | 棒グラフを作成します。次に、チャートをイメージとしてコピーし、 イメージは、引き伸ばされたバージョンのチャートを示します。イメージ周囲のグレーの境界線が取得領域の輪郭です。
bar(1:5) ax = gca; copygraphics(ax,Width=250,Height=350, ... ContentType="image",PreserveAspectRatio="off")
|
制限
MATLAB Web App Server™ では
copygraphicsはサポートされていません。MATLAB Online™ ではイメージ (ピクセル) のコピーのみがサポートされています。ベクトル グラフィックスはサポートされていません。 (R2024b 以降)
代替機能
Figure ツールストリップを使用 (R2025a 以降)
[Figure] タブで [Figure のコピー] をクリックします。詳細については、Figure のクリップボードへのコピーを参照してください。
座標軸ツール バーを使用
座標軸ツール バーの [エクスポート] ボタン
にカーソルを合わせると、ドロップダウン メニューが表示され、内容をエクスポートするためのオプションが示されます。
:内容を、余白なくトリミングしたイメージまたは PDF として保存します。
:内容をイメージとしてコピーします。
:内容をベクトル グラフィックスとしてコピーします。
バージョン履歴
R2020a で導入幅、高さ、パディング、および元のグラフィックスの縦横比を維持するかどうかを指定するには、次の名前と値の引数を使用します。
WidthとHeight— 出力の幅と高さを指定します。Padding— グラフィックスの周囲のパディング量を指定します。Units— 幅、高さ、パディングの値の単位を指定します。PreserveAspectRatio—WidthとHeightの値がグラフィックスの元の縦横比と競合する場合に、自動的にパディングを追加して元の縦横比を維持するかどうかを指定します。
copygraphics 関数にコンテナー (Figure やパネルなど) を渡す場合、そのコンテナーに子コンテナーがあると、場合によっては関数からエラーが返されることがあります。
子コンテナーが複数あり、子コンテナーの少なくとも 1 つに axes オブジェクトまたはスタンドアロンの可視化オブジェクトが含まれている場合
親コンテナーに axes オブジェクト (またはスタンドアロンの可視化オブジェクト) である子があり、それらの子が同じグラフィックス階層レベルでコンテナーに横並びの場合
子コンテナーの内容を取得するには、そのコンテナーを copygraphics 関数に渡します。Figure のすべての内容を取得するには、exportapp 関数を使用します。
copygraphics 関数を使用して、MATLAB Online でイメージをクリップボードにコピーできます。以前は、copygraphics 関数は MATLAB のローカル インストール バージョンでのみ使用できました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)















