stackedplot
공통된 x축을 갖는 여러 변수의 누적 플롯
구문
설명
테이블 및 타임테이블 데이터
stackedplot(
은 누적 플롯에 테이블 또는 타임테이블의 변수를 최대 25개 변수까지 플로팅합니다. 이 함수는 변수들을 개별 y축에 플로팅해 세로로 쌓습니다. 이들 변수는 공통의 x축을 공유합니다.tbl
)
tbl
이 테이블인 경우stackedplot
은 행 번호에 대해 변수를 플로팅합니다.tbl
이 타임테이블인 경우stackedplot
은 행 시간값에 대해 변수를 플로팅합니다.tbl
이 이벤트 테이블이 연결되어 있는 타임테이블인 경우stackedplot
은 이벤트를 세로 선 또는 음영 처리된 영역으로도 플로팅합니다. (R2023b 이후)
stackedplot
함수는 tbl
의 숫자형, 논리형, categorical형, duration형의 모든 변수를 플로팅하고 다른 데이터형을 갖는 테이블 변수는 무시합니다.
벡터 및 행렬 데이터
stackedplot(
는 행 번호에 대해 Y
)Y
의 열들을 플로팅합니다. x축 스케일의 범위는 1에서 Y
의 행 개수까지입니다.
추가 옵션
stackedplot(___,
은 선 스타일, 마커 기호, 색을 설정합니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수와 함께 사용할 수 있습니다.LineSpec
)
stackedplot(___,"XVariable",
은 누적 플롯의 x 값이 될 테이블 변수를 지정합니다.xvar
)
이 구문은 입력값이 테이블일 때만 지원됩니다.
stackedplot(___,"CombineMatchingNames",false)
는 이름은 동일하지만 각기 다른 입력값에서 가져온 변수를 각각 다른 y축에 플로팅합니다. CombineMatchingNames
이름-값 인수를 지정하지 않을 때의 디폴트 동작은 변수를 동일한 y축에 플로팅하는 것입니다.
이 구문은 입력값이 여러 테이블이거나 여러 타임테이블일 때만 지원됩니다.
stackedplot(___,
는 하나 이상의 이름-값 인수를 사용하여 누적 플롯의 속성을 설정합니다. 속성 목록은 StackedLineChart Properties를 참조하십시오. 이름-값 인수 설정은 누적 플롯의 모든 플롯에 적용됩니다.Name,Value
)
stackedplot(
는 parent
,___)parent
로 지정된 Figure, 패널 또는 탭에 누적 플롯을 만듭니다. 옵션 parent
는 위에 열거된 구문의 입력 인수 조합보다 먼저 나올 수 있습니다.
s = stackedplot(___)
은 StackedLineChart Properties 객체를 반환합니다. 누적 플롯을 만든 후에 s
를 사용하여 플롯의 속성을 변경할 수 있습니다. 출력값 s
는 또한 다른 차트와 독립적으로 작동하는 독립형 시각화이기도 합니다.
예제
타임테이블 변수 플로팅하기
스프레드시트 데이터를 타임테이블로 읽어 들입니다. (스프레드시트에 포함된 텍스트 데이터는 string형 배열로 읽어 들입니다.) 날짜와 시간을 포함하는 첫 번째 변수인 OutageTime
은 타임테이블의 행 시간값을 제공합니다. 처음 5개 행을 표시합니다.
tbl = readtimetable("outages.csv","TextType","string"); head(tbl,5)
OutageTime Region Loss Customers RestorationTime Cause ________________ ___________ ______ __________ ________________ _________________ 2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm" 2003-01-23 00:49 "SouthEast" 530.14 2.1204e+05 NaT "winter storm" 2003-02-07 21:15 "SouthEast" 289.4 1.4294e+05 2003-02-17 08:14 "winter storm" 2004-04-06 05:44 "West" 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault" 2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
행 시간값이 정렬되도록 타임테이블을 정렬합니다. 타임테이블의 행 시간값을 순서대로 정렬할 필요는 없습니다. 그러나 행 시간값을 플롯의 x축으로 사용하는 경우 타임테이블을 행 시간값 순서로 정렬하는 것이 좋습니다.
tbl = sortrows(tbl); head(tbl,5)
OutageTime Region Loss Customers RestorationTime Cause ________________ ___________ ______ __________ ________________ ______________ 2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm" 2002-03-05 17:53 "MidWest" 96.563 2.8666e+05 2002-03-10 14:41 "wind" 2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm" 2002-03-26 01:59 "MidWest" 388.04 5.6422e+05 2002-03-28 19:55 "winter storm" 2002-04-20 16:46 "MidWest" 23141 NaN NaT "unknown"
tbl
에서 데이터의 누적 플롯을 만듭니다. 행 시간값 OutageTime
은 x축의 값을 제공합니다. stackedplot
함수는 Loss
, Customers
, RestorationTime
변수의 값을 각 y축을 따라 플로팅합니다. 그러나 Region
및 Cause
변수는 플로팅할 수 없는 데이터를 포함하고 있으므로 플롯에 포함되지 않습니다.
stackedplot(tbl)
이벤트 플로팅하기
R2023b 이상
타임테이블에 연결된 이벤트 테이블의 이벤트를 플로팅합니다. 결과는 이벤트가 세로 선 또는 음영 처리된 영역으로 플로팅된 타임테이블 변수의 누적 플롯입니다. 이벤트 테이블에 대한 자세한 내용은 eventtable
항목을 참조하십시오.
먼저 샘플 MAT 파일에서 타임테이블과 이벤트 테이블을 가져옵니다. 타임테이블을 표시합니다. 이 타임테이블은 2022년 11월의 2주간에 걸친 기상 조건 목록을 포함합니다.
load weatherEvents.mat
weatherData
weatherData=15×2 timetable
Time Temperature Humidity
___________ ___________ ________
01-Nov-2022 36 45
02-Nov-2022 31 76
03-Nov-2022 37 43
04-Nov-2022 36 46
05-Nov-2022 38 72
06-Nov-2022 32 54
07-Nov-2022 35 50
08-Nov-2022 34 45
09-Nov-2022 32 72
10-Nov-2022 30 58
11-Nov-2022 39 54
12-Nov-2022 34 58
13-Nov-2022 31 73
14-Nov-2022 40 78
15-Nov-2022 34 66
다음으로, 이벤트 테이블을 표시합니다. 이 이벤트 테이블은 2022년 11월에 발생한 폭풍과 그 지속 기간 목록을 포함합니다.
weatherEvents
weatherEvents = 4x3 eventtable
Event Labels Variable: EventType
Event Lengths Variable: EventLength
Time EventType EventLength Precipitation (mm)
___________ _________ ___________ __________________
03-Nov-2022 Hail 1.2 hr 12.7
05-Nov-2022 Rain 36 hr 114.3
10-Nov-2022 Snow 18 hr 25.4
14-Nov-2022 Rain 20 hr 177.8
그런 다음 이벤트 테이블을 타임테이블에 연결합니다. 이벤트 테이블이 타임테이블의 속성이 됩니다. 타임테이블을 표시하면 이벤트 레이블도 볼 수 있습니다.
weatherData.Properties.Events = weatherEvents
weatherData=15×2 timetable
Time Temperature Humidity
___________ ___________ ________
01-Nov-2022 36 45
02-Nov-2022 31 76
Hail 03-Nov-2022 37 43
04-Nov-2022 36 46
Rain 05-Nov-2022 38 72
Rain 06-Nov-2022 32 54
07-Nov-2022 35 50
08-Nov-2022 34 45
09-Nov-2022 32 72
Snow 10-Nov-2022 30 58
11-Nov-2022 39 54
12-Nov-2022 34 58
13-Nov-2022 31 73
Rain 14-Nov-2022 40 78
15-Nov-2022 34 66
누적 플롯을 만듭니다. 음영 처리된 영역은 연결된 이벤트 테이블에 나열된 폭풍이 발생한 시점을 나타냅니다.
stackedplot(weatherData)
이벤트를 숨기려면 EventsVisible
이름-값 인수를 사용하십시오.
stackedplot(weatherData,EventsVisible="off")
여러 개의 타임테이블 플로팅하기
샘플 MAT 파일 outdoors
및 indoors
에서 2개의 타임테이블을 불러옵니다. 그런 다음 각 타임테이블의 처음 세 개의 행을 표시합니다.
load indoors.mat load outdoors.mat head(indoors,3)
Time Humidity AirQuality ___________________ ________ __________ 2015-11-15 00:00:24 36 80 2015-11-15 01:13:35 36 80 2015-11-15 02:26:47 37 79
head(outdoors,3)
Time Humidity TemperatureF PressureHg ___________________ ________ ____________ __________ 2015-11-15 00:00:24 49 51.3 29.61 2015-11-15 01:30:24 48.9 51.5 29.61 2015-11-15 03:00:24 48.9 51.5 29.61
indoors
와 outdoors
의 데이터의 누적 플롯을 만듭니다. 여러 테이블이나 여러 타임테이블로 누적 플롯을 만들면 다음과 같이 동작합니다.
범례는 각 테이블이나 타임테이블에 해당하는 색을 표시합니다.
이름은 동일하지만 각기 다른 테이블이나 타임테이블에서 가져온 변수들을 동일한 y축에 플로팅합니다. 예를 들어,
stackedplot
에 대한 다음 호출은indoors
및outdoors
에서 가져온Humidity
변수를 동일한 y축에 플로팅합니다.
stackedplot(indoors,outdoors)
이름이 일치하는 변수들을 결합하기 및 분리하기
샘플 MAT 파일 outdoors
및 indoors
에서 2개의 타임테이블을 불러옵니다. 타임테이블 둘 다 Humidity
라는 변수가 있습니다. 이 두 개의 Humidity
변수로 누적 플롯을 만듭니다. 범례 색으로 어떤 변수가 어떤 타임테이블에서 가져온 것인지 볼 수 있습니다.
load indoors.mat load outdoors.mat head(indoors,5)
Time Humidity AirQuality ___________________ ________ __________ 2015-11-15 00:00:24 36 80 2015-11-15 01:13:35 36 80 2015-11-15 02:26:47 37 79 2015-11-15 03:39:59 37 82 2015-11-15 04:53:11 36 80
head(outdoors,5)
Time Humidity TemperatureF PressureHg ___________________ ________ ____________ __________ 2015-11-15 00:00:24 49 51.3 29.61 2015-11-15 01:30:24 48.9 51.5 29.61 2015-11-15 03:00:24 48.9 51.5 29.61 2015-11-15 04:30:24 48.8 51.5 29.61 2015-11-15 06:00:24 48.7 51.5 29.6
stackedplot(indoors,outdoors,"Humidity")
구문 stackedplot(indoors,outdoors,"Humidity")
는 구문 stackedplot(indoors,outdoors,"Humidity","CombineMatchingNames",true)
와 동일합니다. 기본적으로, 이름은 일치하지만 각기 다른 입력값에서 가져온 변수들을 동일한 y축에 플로팅합니다.
두 개의 Humidity
변수를 서로 다른 y 좌표축에 플로팅하려면 "CombineMatchingNames",false
이름-값 인수를 지정하십시오.
stackedplot(indoors,outdoors,"Humidity","CombineMatchingNames",false)
변수 지정하기
환자 데이터에서 테이블을 만듭니다. 처음 세 개의 행을 표시합니다.
tbl = readtable("patients.xls","TextType","string"); head(tbl,3)
LastName Gender Age Location Height Weight Smoker Systolic Diastolic SelfAssessedHealthStatus __________ ________ ___ ___________________________ ______ ______ ______ ________ _________ ________________________ "Smith" "Male" 38 "County General Hospital" 71 176 true 124 93 "Excellent" "Johnson" "Male" 43 "VA Hospital" 69 163 false 109 77 "Fair" "Williams" "Female" 38 "St. Mary's Medical Center" 64 131 false 125 83 "Good"
테이블에서 4개의 변수만 플로팅합니다.
stackedplot(tbl,["Height","Weight","Systolic","Diastolic"])
변수 재정렬하기
파일에서 타임테이블을 읽어 들이고 처음 3개 행을 표시합니다.
tbl = readtimetable("outages.csv","TextType","string"); tbl = sortrows(tbl); head(tbl,3)
OutageTime Region Loss Customers RestorationTime Cause ________________ ___________ ______ __________ ________________ ______________ 2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm" 2002-03-05 17:53 "MidWest" 96.563 2.8666e+05 2002-03-10 14:41 "wind" 2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
테이블과는 다른 순서로 변수를 지정하여 다시 정렬합니다. 예를 들어, RestorationTime
은 타임테이블에서 플로팅할 수 있는 마지막 변수입니다. 기본적으로 stackedplot
은 플롯의 맨 아래에 이 변수를 배치합니다. 그러나 RestorationTime
이 맨 위에 오도록 변수를 다시 정렬할 수 있습니다.
stackedplot(tbl,["RestorationTime","Loss","Customers"])
다른 방법으로 변수를 다시 정렬할 수도 있습니다.
테이블에서의 숫자순으로 지정:
stackedplot(tbl,[4 2 3]);
StackedLineChart
객체를 반환하고 이 객체의DisplayVariables
속성의 값들을 다시 정렬:
s = stackedplot(tbl); s.DisplayVariables = ["RestorationTime","Loss","Customers"]
행렬의 열 플로팅하기
숫자형 행렬과 숫자형 벡터를 만듭니다.
X = [0:4:20]
X = 1×6
0 4 8 12 16 20
Y = randi(100,6,3)
Y = 6×3
82 28 96
91 55 49
13 96 81
92 97 15
64 16 43
10 98 92
X
와 Y
를 사용하여 누적 플롯을 만듭니다.
stackedplot(X,Y)
이름-값 인수를 사용하여 제목 및 레이블 지정하기
일련의 날씨 측정값이 있는 타임테이블을 불러옵니다. 처음 3개 행을 표시합니다.
load outdoors
outdoors(1:3,:)
ans=3×3 timetable
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
누적 플롯을 만듭니다. 이름-값 인수를 사용하여 y축의 제목과 레이블을 지정합니다. 이름-값 인수를 사용하여 속성의 디폴트 값에서 다른 값으로 변경할 수 있습니다. (char(176)
을 사용하여 온도 기호를 지정할 수도 있습니다.)
degreeSymbol = char(176); newYlabels = ["RH (%)","T (" + degreeSymbol + "F)","P (in Hg)"]; stackedplot(outdoors,"Title","Weather Data","DisplayLabels",newYlabels)
여러 타임테이블의 범례 지정하기
샘플 MAT 파일 outdoors
및 indoors
에서 2개의 타임테이블을 불러옵니다.
load indoors.mat load outdoors.mat head(indoors,3)
Time Humidity AirQuality ___________________ ________ __________ 2015-11-15 00:00:24 36 80 2015-11-15 01:13:35 36 80 2015-11-15 02:26:47 37 79
head(outdoors,3)
Time Humidity TemperatureF PressureHg ___________________ ________ ____________ __________ 2015-11-15 00:00:24 49 51.3 29.61 2015-11-15 01:30:24 48.9 51.5 29.61 2015-11-15 03:00:24 48.9 51.5 29.61
여러 테이블이나 여러 타임테이블로 누적 플롯을 만들 때는 범례가 포함됩니다. 기본적으로, 범례는 입력값의 이름을 레이블로 사용합니다. 그러나 사용자가 레이블을 지정하고 범례에서 레이블의 방향을 지정할 수 있습니다.
stackedplot(indoors,outdoors,"LegendLabels",["Inside Readings","Outside Readings"],... "LegendOrientation","vertical")
또한 범례를 숨길 수 있습니다.
stackedplot(indoors,outdoors,"LegendVisible","off")
선과 좌표축의 속성 변경하기
stackedplot
함수는 StackedLineChart
객체를 반환합니다. 이 객체를 사용하여 모든 플롯에 동일한 선 및 좌표축 속성을 설정하거나 개별 플롯에 서로 다른 속성값을 설정할 수 있습니다. 이 예제에서는 먼저 누적 플롯에 있는 모든 플롯의 선 너비를 변경합니다. 그런 다음 각 플롯의 PlotType
속성을 사용하여 누적 플롯이 선 플롯, 산점도 플롯 및 계단 플롯을 갖도록 지정합니다.
일련의 날씨 측정값이 있는 타임테이블을 불러옵니다.
load outdoors
outdoors(1:3,:)
ans=3×3 timetable
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
누적 플롯을 만들고 StackedLineChart
객체를 반환합니다.
s = stackedplot(outdoors)
s = StackedLineChart with properties: SourceTable: [51x3 timetable] DisplayVariables: {'Humidity' 'TemperatureF' 'PressureHg'} Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 EventsVisible: on Use GET to show all properties
객체는 모든 플롯에 적용되는 많은 속성에 대한 액세스 권한을 제공합니다. 예를 들어, s.LineWidth
를 사용하여 선을 더 굵게 만들 수 있습니다.
s.LineWidth = 2;
객체는 또한 개별 플롯의 선 및 y축을 수정하는 데 사용할 수 있는 객체 배열에 대한 액세스 권한도 제공합니다. 각 선의 속성에 액세스하려면 s.LineProperties
를 사용하십시오. 각 플롯에 다른 선 스타일, 마커, 플롯 유형 등을 지정할 수 있습니다.
s.LineProperties
ans=3×1 StackedLineProperties array with properties:
Color
MarkerFaceColor
MarkerEdgeColor
LineStyle
LineWidth
Marker
MarkerSize
PlotType
PlotType
속성을 사용하여 두 번째 플롯을 산점도 플롯으로, 세 번째 플롯을 계단 플롯으로 변경합니다.
s.LineProperties(2).PlotType = "scatter"; s.LineProperties(3).PlotType = "stairs";
s.AxesProperties
속성을 통해 개별 y축에 액세스할 수도 있습니다.
s.AxesProperties
ans=3×1 StackedAxesProperties array with properties:
YLimits
YScale
LegendLabels
LegendLocation
LegendVisible
CollapseLegend
예를 들어, 첫 번째 플롯의 y 제한을 변경해 보겠습니다.
s.AxesProperties(1).YLimits = [46 54];
하나의 Y축에서 여러 선을 플로팅하고 변경하기
Weight
, Systolic
, Diastolic
변수를 사용하여 환자 데이터의 서브셋에서 테이블을 만듭니다.
load patients
tbl = table(Weight,Systolic,Diastolic);
head(tbl,3)
Weight Systolic Diastolic ______ ________ _________ 176 124 93 163 109 77 131 125 83
동일한 y축을 사용하여 Systolic
과 Diastolic
을 플로팅하고 자체 y축을 사용하여 Weight
를 플로팅한 누적 플롯을 만듭니다. 먼저, vars
를 요소를 2개 가진 셀형 배열로 지정합니다. 첫 번째 요소는 "Systolic"
과 "Diastolic"
을 함께 string형 배열로 그룹화합니다. 이러한 변수는 공통 y축에 함께 플로팅됩니다. 셀형 배열의 두 번째 요소는 "Weight"
입니다. 이 변수는 자체 y축에 플로팅됩니다. 또한 누적 플롯의 속성을 가진 StackedLineChart
객체를 반환합니다.
vars = {["Systolic","Diastolic"],"Weight"}
vars=1×2 cell array
{["Systolic" "Diastolic"]} {["Weight"]}
s = stackedplot(tbl,vars)
s = StackedLineChart with properties: SourceTable: [100x3 table] DisplayVariables: {{1x2 cell} 'Weight'} XVariable: [] Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 Use GET to show all properties
하나의 y축에 여러 변수를 플로팅하는 경우, 스타일을 지정하는 배열을 할당하여 해당 y축 내의 선에 서로 다른 스타일을 할당할 수 있습니다.
예를 들어, 첫 번째 y축의 두 선에 대해 동일한 색을 지정하려면 s.LineProperties(1).Color
에 색을 할당합니다. 두 선에 서로 다른 선 스타일을 지정하려면 두 개의 서로 다른 스타일을 지정하는 string형 배열을 s.LineProperties(1).LineStyle
에 할당합니다.
s.LineProperties(1).Color = "magenta"; s.LineProperties(1).LineStyle = ["--",":"];
여러 입력값에 대한 색 순서 변경하기
샘플 MAT 파일 outdoors
및 indoors
에서 2개의 타임테이블을 불러옵니다.
load indoors.mat load outdoors.mat
누적 플롯을 만듭니다.
s = stackedplot(indoors,outdoors);
어떤 변수를 어떤 타임테이블에서 가져왔는지 나타내기 위해 사용하는 색의 순서를 변경합니다. 타임테이블이 여러 개 있으면 색의 이름으로 선택하는 것이 편리합니다.
colororder(s,["magenta","green"])
더 많은 수의 입력 테이블이나 타임테이블에서 변수를 플로팅하는 경우 컬러맵을 사용하여 색 순서를 설정하는 것이 더 편리할 수 있습니다. 컬러맵의 색 개수를 n개로 지정합니다. 여기서 n은 누적 플롯을 만들 때 지정한 테이블 또는 타임테이블 개수입니다.
예를 들어, parula
함수로 색 순서를 설정하여 파룰라(parula) 컬러맵을 반환합니다. 색 개수를 타임테이블 개수와 동일하게 지정합니다. 누적 플롯에 테이블이나 타임테이블이 몇 개가 표시될지 모르는 경우에는 stackedplot
에 의해 반환된 StackedLineChart
객체의 SourceTable
속성을 사용하십시오.
numTimetables = numel(s.SourceTable); colororder(s,parula(numTimetables))
Y축 로그 스케일을 갖는 세미로그 플롯
데이터를 타임테이블로 가져옵니다. 그런 다음 누적 플롯을 만듭니다. 기본적으로, 모든 플롯은 x축과 y축에 모두 선형 스케일이 있습니다.
tbl = readtimetable("outages.csv");
tbl = sortrows(tbl);
s = stackedplot(tbl)
s = StackedLineChart with properties: SourceTable: [1468x5 timetable] DisplayVariables: {'Loss' 'Customers' 'RestorationTime'} Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 EventsVisible: on Use GET to show all properties
s.AxesProperties
속성을 통해 개별 y축의 속성(예: 스케일)에 액세스할 수 있습니다.
s.AxesProperties
ans=3×1 StackedAxesProperties array with properties:
YLimits
YScale
LegendLabels
LegendLocation
LegendVisible
CollapseLegend
첫 번째 플롯과 두 번째 플롯을 y축에 로그 스케일이 있는 세미로그 플롯으로 전환하려면 플롯의 YScale
속성을 'log'
로 설정하십시오.
s.AxesProperties(1).YScale = 'log'; s.AxesProperties(2).YScale = 'log';
입력 인수
tbl
— 입력 테이블 또는 타임테이블
테이블 | 타임테이블
입력 테이블 또는 타임테이블입니다. stackedplot
함수는 숫자형, 논리형, categorical
형, datetime
형, duration
형 변수를 모두 플로팅하고 다른 데이터형을 갖는 테이블 변수는 무시합니다. tbl
에 25개를 넘는 변수가 있는 경우 stackedplot
는 처음 25개만 플로팅합니다.
입력 테이블이나 타임테이블을 여러 개 지정하려면 쉼표로 구분된 목록을 사용하거나 테이블 또는 타임테이블로 구성된 셀형 배열을 사용합니다. 여러 입력값을 지정할 때는 stackedplot
에 대한 하나의 호출 안에 테이블과 타임테이블을 섞을 수 없습니다.
vars
— 입력 테이블 또는 타임테이블의 변수
string형 배열 | 숫자형 배열 | 논리형 배열 | 셀형 배열 | vartype
첨자
입력 테이블 또는 타임테이블의 변수로, 다음 표의 인덱싱 방식 중 하나를 사용하여 지정됩니다.
참고: 여러 테이블 또는 여러 타임테이블로 누적 플롯을 만드는 경우 vars
는 string형 배열, 문자형 벡터로 이루어진 셀형 배열, 또는 요소가 string형 배열인 셀형 배열이나 요소가 문자형 벡터로 이루어진 셀형 배열인 셀형 배열만 가능합니다.
인덱싱 방식 | 예제 |
---|---|
변수 이름:
|
|
변수 인덱스(단일 테이블 또는 단일 타임테이블에만 해당):
|
|
변수 유형(단일 테이블 또는 단일 타임테이블에만 해당):
|
|
중첩 셀형 배열에 지정된 변수:
|
|
예: stackedplot(tbl,[1 3 4])
는 첫 번째, 세 번째, 네 번째 변수를 지정합니다.
예: stackedplot(tbl,{["Temp1","Temp2"],"Pressure"})
는 중첩 셀 배열을 사용하여 Temp1
과 Temp2
가 동일한 y축에 플로팅되도록 지정합니다.
예: stackedplot(tbl,{{1,2},5})
는 번호를 사용하여 변수를 지정하고 첫 번째 변수와 두 번째 변수를 동일한 y축에 플로팅합니다.
X
— x 값
숫자형 벡터 | datetime형 벡터 | duration형 벡터 | 논리형 벡터
x 값으로, 숫자형, datetime형, duration형 또는 논리형 벡터로 지정됩니다. X
의 길이는 Y
의 행 개수와 같아야 합니다.
Y
— y 값
숫자형 배열 | datetime형 배열 | duration형 배열 | categorical형 배열 | 논리형 배열
y 값으로, 숫자형, datetime형, duration형, categorical형 또는 논리형 배열로 지정됩니다. stackedplot
함수는 각 열을 별도의 y축에 표시합니다.
LineSpec
— 선 스타일, 마커, 색
string형 스칼라 | 문자형 벡터
선 스타일, 마커, 색으로, 기호를 포함하는 string형 스칼라 또는 문자형 벡터로 지정됩니다. 기호는 어떤 순서로 지정해도 좋습니다. 세 가지 특성(선 스타일, 마커, 색)을 모두 지정할 필요는 없습니다. 예를 들어 선 스타일을 생략하고 마커를 지정하면 플롯은 마커만 표시하고 선은 표시하지 않습니다.
예: "--or"
은 원 마커로 표시된 빨간색 파선입니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
마커 | 설명 | 결과로 생성되는 마커 |
---|---|---|
"o" | 원 |
|
"+" | 플러스 기호 |
|
"*" | 별표 |
|
"." | 점 |
|
"x" | 십자 |
|
"_" | 가로선 |
|
"|" | 세로선 |
|
"square" | 정사각형 |
|
"diamond" | 다이아몬드 |
|
"^" | 위쪽 방향 삼각형 |
|
"v" | 아래쪽 방향 삼각형 |
|
">" | 오른쪽 방향 삼각형 |
|
"<" | 왼쪽 방향 삼각형 |
|
"pentagram" | 펜타그램 |
|
"hexagram" | 헥사그램 |
|
색 이름 | 짧은 이름 | RGB 3색 | 모양 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] | |
xvar
— x 값을 포함하는 테이블 변수
string형 배열 | 문자형 벡터 | 문자형 벡터로 구성된 셀형 배열 | 정수형 배열 | 논리형 배열
x 값을 포함하는 테이블 변수로, string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, 정수형 배열 또는 논리형 배열로 지정됩니다.
입력 인수 tbl
또는 tbl1,...,tblN
이 타임테이블, 벡터 또는 행렬이 아니라 테이블인 경우에만 xvar
을 지정할 수 있습니다.
입력값이 하나의 테이블이면
xvar
은 테이블에 있는 하나의 변수를 지정합니다.입력값이 여러 테이블이면
xvar
은 모든 테이블에 존재하는 하나의 변수를 지정하거나 테이블마다 다르게 존재하는 변수를 각각 지정할 수 있습니다.예를 들어, 입력값이
tbl1,tbl2,tbl3
인 경우 각 테이블마다 x 값을 제공하는X
라는 변수가 있으면xvar
은"X"
가 될 수 있습니다. 그러나tbl1
에는X1
변수,tbl2
에는X2
변수,tbl3
에는X3
변수가 있으면xvar
을["X1","X2","X3"]
으로 지정합니다.
parent
— 부모 컨테이너
Figure
객체 | Panel
객체 | Tab
객체 | TiledChartLayout
객체 | GridLayout
객체
부모 컨테이너로, Figure
, Panel
, Tab
, TiledChartLayout
또는 GridLayout
객체로 지정됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: stackedplot(tbl,Marker="o",MarkerSize=10)
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: stackedplot(tbl,"Marker","o","MarkerSize",10)
여기에 나열된 누적 차트의 선 속성은 데이터 소스가 테이블이든 배열이든 관계없이 모든 누적 플롯에 공통된 서브셋입니다. 전체 목록을 보려면 StackedLineChart Properties을 참조하십시오.
Color
— 선 색
[0 0.4470 0.7410]
(디폴트 값) | RGB 3색 | 16진수 색 코드 | "r"
| "g"
| "b"
| ...
선 색으로, RGB 3색, 16진수 색 코드 또는 첫 번째 표에 나열된 색 옵션 중 하나로 지정됩니다.
사용자 지정 색의 경우에는 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" | |
"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" | |
"none" | 해당 없음 | 해당 없음 | 해당 없음 | 색 없음 |
다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.
RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
예: "blue"
예: [0 0 1]
예: "#0000FF"
LineStyle
— 선 스타일
"-"
(디폴트 값) | "--"
| ":"
| "-."
| "none"
선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
"none" | 선 없음 | 선 없음 |
LineWidth
— 선 너비
0.5
(디폴트 값) | 양의 값
선 너비로, 양의 값으로 지정됩니다(단위: 포인트). 여기서 1포인트는 1/72인치와 같습니다. 선에 마커가 있는 경우 선 너비는 마커 가장자리에도 영향을 미칩니다.
선 너비는 픽셀 너비보다 가늘 수 없습니다. 선 너비를 시스템의 픽셀 너비보다 작은 값으로 설정할 경우 선은 1픽셀 너비로 표시됩니다.
Marker
— 마커 기호
"none"
(디폴트 값) | "o"
| "+"
| "*"
| "."
| ...
마커 기호로, 다음 표에 나열된 값 중 하나로 지정됩니다. 기본적으로 객체는 마커를 표시하지 않습니다. 마커 기호를 지정하면 각 데이터 점이나 꼭짓점에 마커가 추가됩니다.
마커 | 설명 | 결과로 생성되는 마커 |
---|---|---|
"o" | 원 |
|
"+" | 플러스 기호 |
|
"*" | 별표 |
|
"." | 점 |
|
"x" | 십자 |
|
"_" | 가로선 |
|
"|" | 세로선 |
|
"square" | 정사각형 |
|
"diamond" | 다이아몬드 |
|
"^" | 위쪽 방향 삼각형 |
|
"v" | 아래쪽 방향 삼각형 |
|
">" | 오른쪽 방향 삼각형 |
|
"<" | 왼쪽 방향 삼각형 |
|
"pentagram" | 펜타그램 |
|
"hexagram" | 헥사그램 |
|
"none" | 마커 없음 | 해당 없음 |
MarkerSize
— 마커 크기
6
(디폴트 값) | 양의 값
마커 크기로, 양의 값으로 지정됩니다(단위: 포인트). 여기서 1포인트는 1/72인치와 같습니다.
세부 정보
독립형 시각화
독립형 시각화는 특수 목적으로 설계된 차트로, 다른 차트와 독립적으로 작동합니다. plot
이나 surf
와 같은 다른 차트와 달리 독립형 시각화에는 사전 구성된 axes 객체가 내장되어 있으며 일부 사용자 지정이 불가합니다. 독립형 시각화에는 다음과 같은 특성도 있습니다.
선, 패치, 곡면과 같은 다른 그래픽스 요소와 결합할 수 없습니다. 따라서
hold
명령은 지원되지 않습니다.gca
함수는 chart 객체를 현재 좌표축으로 반환할 수 있습니다.입력 인수로 axes 객체를 받는 여러 MATLAB 함수에 chart 객체를 전달할 수 있습니다. 예를 들어, chart 객체를
title
함수에 전달할 수 있습니다.
팁
누적 플롯의 데이터를 대화형 방식으로 살펴보려면 다음 기능을 사용하십시오.
확대/축소 — 스크롤 휠을 사용하여 확대/축소합니다.
패닝 — 누적 플롯을 클릭하고 끌어서 x 값을 패닝합니다.
데이터 커서 — 각 플롯의 임의의 위치에 커서를 올려 놓으면 y 값이 표시됩니다.
버전 내역
R2018b에 개발됨R2023b: 타임테이블에 연결된 이벤트 플로팅
stackedplot
함수는 타임테이블에서 생성된 누적 플롯에 이벤트를 선 또는 음영 처리된 영역으로 플로팅할 수 있습니다. 타임테이블에 연결된 이벤트를 플로팅하려면 stackedplot
을 호출하기 전에 타임테이블에 이벤트 테이블을 연결해야 합니다. 이벤트 테이블에 대한 자세한 내용은 eventtable
항목을 참조하십시오.
stackedplot
에 이벤트를 지원하는 EventsVisible
이름-값 인수가 새로 추가되었습니다.
EventsVisible
이"on"
이면stackedplot
은 이벤트를 선 또는 음영 처리된 영역으로 플로팅합니다.EventsVisible
이"off"
이면stackedplot
은 이벤트를 숨깁니다.
R2022b: 누적 플롯에서 여러 테이블과 여러 타임테이블의 변수를 플로팅
이제 여러 입력 테이블이나 여러 입력 타임테이블의 변수를 플로팅할 수 있습니다. 이전 릴리스에서는 단일 테이블이나 단일 타임테이블에서만 변수를 플로팅할 수 있습니다.
또한 다음과 같은 이름-값 인수가 R2022b에 추가됩니다. 해당 StackedLineChart
속성도 R2022b에 추가됩니다.
CombineMatchingNames
LegendLabels
LegendVisible
LegendOrientation
R2022a: 누적 플롯에서 변수를 여러 번 플로팅
누적 플롯에서 동일한 테이블 변수나 타임테이블 변수를 여러 번 플로팅할 수 있습니다. 이전 릴리스에서는 변수를 두 번 이상 지정하면 오류가 발생합니다.
예를 들어 outages.csv
파일에서 타임테이블을 생성합니다. 그런 다음 지정한 서로 다른 변수 아래에 각각 RestorationTime
변수를 플로팅합니다.
tbl = readtimetable("outages.csv"); tbl = sortrows(tbl); stackedplot(tbl,["Loss","RestorationTime","Customers","RestorationTime"])
참고 항목
함수
속성
도움말 항목
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)