Main Content

copygraphics

플롯 또는 그래픽스 콘텐츠를 클립보드에 복사

R2020a 이후

설명

예제

copygraphics(obj)obj로 지정된 그래픽스 객체의 콘텐츠를 시스템 클립보드에 복사합니다. 그래픽스 객체는 임의 유형의 좌표축, Figure, 독립형 시각화, 타일 형식 차트 레이아웃이거나 Figure 내의 컨테이너일 수 있습니다. 클립보드 콘텐츠는 다른 애플리케이션 및 문서에 붙여넣는 데 사용할 수 있습니다.

예제

copygraphics(obj,Name,Value)는 클립보드에 콘텐츠를 복사하는 데 대한 추가 옵션을 지정합니다. 예를 들어, copygraphics(gca,'Resolution',300)은 현재 좌표축의 콘텐츠를 300DPI 이미지 파일로 클립보드에 복사합니다.

예제

모두 축소

선 플롯을 만들고 현재 좌표축을 가져옵니다. 그런 다음 좌표축의 콘텐츠를 클립보드에 복사합니다.

plot(rand(5,5))
ax = gca;
copygraphics(ax)

Figure contains an axes object. The axes object contains 5 objects of type line.

이미지를 표시하고 현재 좌표축을 가져옵니다. 그런 다음 좌표축의 콘텐츠를 300DPI 이미지로 복사합니다.

I = imread('peppers.png');
imshow(I)
ax = gca;
copygraphics(ax,'Resolution',300)

Figure contains an axes object. The axes object contains an object of type image.

좌표축 경계 밖으로 연장되는 주석이 있는 플롯을 표시합니다. 그런 다음 Figure의 콘텐츠를 복사합니다.

plot(1:10)
annotation('textarrow',[0.06 0.5],[0.73 0.5],'String','y = x ')
f = gcf;
copygraphics(f)

Figure contains an axes object. The axes object contains an object of type line.

막대 차트를 표시하고 현재 좌표축을 가져옵니다. 그런 다음 좌표축의 콘텐츠를 벡터 그래픽으로 복사합니다.

bar([10 22 31 43])
ax = gca;
copygraphics(ax,'ContentType','vector')

Figure contains an axes object. The axes object contains an object of type bar.

타일 형식 차트 레이아웃에 두 개의 플롯을 표시합니다. 그런 다음 copygraphics 함수에 TiledChartLayout 객체를 전달하여 두 플롯을 모두 클립보드에 복사합니다.

t = tiledlayout(2,1);
nexttile
plot([1 2 3])
nexttile
plot([3 2 1])
copygraphics(t)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

플롯 중 하나만 복사하려면 좌표축 반환 인수를 사용하여 nexttile 함수를 호출하십시오. 그런 다음 이 좌표축을 copygraphics 함수에 전달합니다.

히트맵 차트를 표시합니다. 그런 다음 차트를 벡터 그래픽으로 복사하고 투명 배경을 지정합니다.

h = heatmap(rand(10,10));
copygraphics(h,'ContentType','vector','BackgroundColor','none')

Figure contains an object of type heatmap.

좌표축 콘텐츠를 클립보드에 복사하기 위해 플롯과 버튼을 표시하는 프로그램 파일 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 함수를 호출하여 앱을 실행합니다. 플롯 복사 버튼을 클릭하면 좌표축 콘텐츠가 클립보드에 복사됩니다. 버튼을 포함하여 좌표축을 둘러싸는 영역은 복사되지 않습니다.

copyapp

App containing a plot and a button labeled "Copy Plot"

입력 인수

모두 축소

그래픽스 객체로, 다음 객체 중 하나로 지정됩니다.

  • 임의 유형의 좌표축: Axes 객체, PolarAxes 객체 또는 GeographicAxes 객체.

  • figure 또는 uifigure 함수를 사용하여 만든 Figure.

  • heatmap 차트와 같은 독립형 시각화.

  • tiledlayout 함수를 사용하여 만드는 타일 형식 차트 레이아웃.

  • Figure 내의 컨테이너: Panel, Tab 또는 ButtonGroup 객체.

캡처 영역

copygraphics는 지정한 객체의 콘텐츠를 캡처합니다. 버튼이나 슬라이더와 같은 UI 컴포넌트는 캡처하지 않습니다.

인접한 컨테이너와 자식 컨테이너도 캡처하지 않습니다. 예를 들어, 선 플롯을 포함하는 Figure가 있다고 가정하겠습니다. 선 플롯 옆에는 히트맵을 포함하는 패널이 인접해 있습니다.

f = figure;
ax = axes(f,'Position',[0.1 0.1 0.4 0.8]);
plot(ax,[0 1])
p = uipanel(f,'Position',[0.55 0.1 0.4 0.8]);
heatmap(p,rand(10,5))

copygraphics(f)
copygraphics(p)

Figure containing a line plot with an adjacent panel containing a heatmap

위에 나온 코드에서 첫 번째 copygraphics 명령은 선 플롯은 복사하지만 히트맵은 복사하지 않습니다. 두 번째 copygraphics 명령은 히트맵은 복사하지만 선 플롯은 복사하지 않습니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: copygraphics(gca,'Resolution',300)은 현재 좌표축의 콘텐츠를 300DPI 이미지로 복사합니다.

복사할 콘텐츠의 형식으로, 다음 옵션 중 하나로 지정됩니다.

  • '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' 값은 배경색을 부모 컨테이너의 색으로 설정합니다.

  • 'none' 값은 ContentType의 값에 따라 배경색을 투명 또는 흰색으로 설정합니다.

    • ContentType='vector'인 경우, 배경색은 투명입니다.

    • ContentType='image'인 경우, 배경색은 흰색입니다.

    • ContentType='auto'인 경우, MATLAB은 복사할 콘텐츠의 유형을 확인하는 데 사용하는 발견법에 따라 배경색을 설정합니다.

  • 또는 사용자 지정 색이나 명명된 색을 지정할 수도 있습니다.

사용자 지정 색과 명명된 색

RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

저장된 그래픽의 컬러스페이스로, 'rgb' 또는 'gray'로 지정됩니다.

  • 'rgb' — 트루컬러 RGB 콘텐츠를 복사합니다.

  • 'gray' — 콘텐츠를 회색조로 변환합니다.

제한 사항

MATLAB Online™ 또는 MATLAB Web App Server™에서 호스트되는 웹 앱에서는 copygraphics 함수가 지원되지 않습니다.

대체 기능

좌표축 도구 모음의 내보내기 버튼 에 커서를 올려놓으면 다음과 같은 콘텐츠 내보내기 옵션이 있는 드롭다운 메뉴가 표시됩니다.

  • : 콘텐츠를 꼭 맞게 잘린 이미지 또는 PDF로 저장합니다.

  • : 콘텐츠를 이미지로 복사합니다.

  • : 콘텐츠를 벡터 그래픽으로 복사합니다.

버전 내역

R2020a에 개발됨

참고 항목