차트 작업

차트 작업

차트 작업

Aspose.Words FOSS for .NET은(는) 기본 Word 차트를 삽입할 수 있습니다 — Word 자체가 만드는 동일한 DrawingML 차트 — 를 그리기 레이어의 도형으로. DocumentBuilder.InsertChart은 도형을 생성하고 반환합니다; 도형의 Chart 속성은 시리즈, 축, 범례 및 서식을 노출합니다. 이 가이드는 차트 만들기, 차트 유형 선택, 시리즈 및 데이터 포인트 작업, 축 및 격자선, 차트 요소 서식 지정에 대해 다룹니다.


차트 만들기

커서 위치에 차트 도형을 삽입하고 포함된 Shape을 반환받으려면 DocumentBuilder.InsertChart(chartType, width, height)을 호출하십시오. 그 Chart 속성은 구성할 Chart 객체입니다. 새로 삽입된 차트에는 샘플 데모 시리즈가 포함되어 있으므로, ChartSeriesCollection.Add(seriesName, categories, values)로 실제 데이터를 추가하기 전에 Chart.Series를 지우십시오:

using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");

이 예제는 Document을(를) 구축하고, DocumentBuilder.InsertChart(ChartType.Line, 432, 252)을 사용하여 선 차트 도형을 삽입하며, shape.Chart를 읽어 Chart 객체를 얻고, chart.Series.Clear()를 호출하여 샘플 시리즈를 제거하고, chart.Series.Add(seriesName, categories, values)로 실제 시리즈 하나를 추가한 뒤, Document.Save으로 결과를 기록합니다.


차트 유형

ChartType은 표준 Word 차트 패밀리를 포함합니다 — Line, Bar, Column (그들의 Stacked, PercentStacked, 3D 변형 포함), Pie, PieOfPie, Doughnut, Area, Scatter, Bubble, Radar, Stock, Surface, 그리고 최신 Word 2016 차트 유형인 Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall을 포함합니다. 원하는 값을 chartType 인수로 InsertChart에 전달하십시오; 삽입 후 기존 차트의 유형을 변경하는 방법은 도형을 교체하는 것 외에는 없습니다.


시리즈 및 데이터 포인트

Chart.Series은(는) ChartSeries 객체의 ChartSeriesCollection입니다. 위에서 사용한 Add(seriesName, categories, values) 오버로드 외에도, ChartSeriesCollection는 X/Y 값 쌍, 날짜 및 버블 크기에 대한 오버로드와 Insert, Remove(index), Clear()을 추가로 제공합니다. 각 ChartSeries은(는) DataPoints(이(가) ChartDataPointCollection)를 노드당 포맷팅을 위해 노출합니다 — Format, Marker, Explosion, InvertIfNegative — 그리고 HasDataLabels/DataLabels을 사용해 ChartDataLabelCollection(ShowValue, ShowCategoryName, ShowPercentage, Position)을 켜고 구성합니다.


축 및 눈금선

Chart.AxisX, AxisY, AxisZ은(는) ChartAxis 객체이며 (Chart.Axes는 모두를 반복하기 위한 ChartAxisCollection입니다). 각 축은 HasMajorGridlines/HasMinorGridlines, MajorUnit/MinorUnit(일치하는 *IsAuto 플래그와 함께), Crosses/CrossesAt, CategoryType 및 레이블 폰트와 방향을 위한 TickLabels 객체(AxisTickLabels)를 가집니다. ChartAxis.Title(ChartAxisTitle)은(는) 축 캡션 텍스트를 해당 Text 및 Show 속성을 통해 설정합니다.


범례, 제목 및 데이터 표

Chart.Title(ChartTitle)은(는) 차트의 전체 캡션을 설정합니다 — Text, Show, Font. Chart.Legend(ChartLegend)은(는) Position(예: Bottom, Right, Top와 같은 LegendPosition 값)을 통해 범례가 나타나는 위치와 여부를 제어하고 개별 LegendEntries를 노출합니다. Chart.DataTable(ChartDataTable)은(는) 플롯 영역 아래에 기본 시리즈 값을 표로 표시할 수 있으며, Show, HasLegendKeys 및 테두리 토글을 포함합니다.


차트 요소 서식 지정

대부분의 차트 요소(시리즈, 데이터 포인트, 축, 제목 및 범례)는 ChartFormat 유형의 Format 속성을 노출하며, 이 속성은 해당 요소의 색상을 위한 Fill와 Stroke을 제공하고, 데이터 포인트 마커 모양을 위한 ShapeType(ChartShapeType)도 포함합니다. ChartFormat.SetDefaultFill()은(는) 요소를 테마 기반 기본 모양으로 재설정합니다.


팁 및 모범 사례

  • 실제 데이터를 추가하기 전에 항상 자리표시자 시리즈(chart.Series.Clear())를 지우거나 교체하세요 — 새로 삽입된 차트에는 이미 샘플 데이터가 포함되어 있습니다.
  • 카테고리/값 쌍으로 모두 강제 적용하기보다는 데이터 형태(카테고리, X/Y 쌍, 날짜 또는 버블 크기)에 맞는 ChartSeriesCollection.Add 오버로드를 사용하세요.
  • 시리즈에 HasDataLabels = true를 설정한 후에 DataLabels 컬렉션을 구성하세요 — 레이블이 꺼져 있는 동안은 컬렉션의 표시 속성이 눈에 보이는 영향을 주지 않습니다.
  • 클래식 차트와 Word-2016 스타일 차트 간에 그리드라인이나 축 동작이 다를 수 있으니, 의존하기 전에 Chart.ChartSpace를 읽거나 특정 ChartType를 확인하세요.
  • 요소의 모양을 재설정하려면 모든 채우기 속성을 수동으로 지우는 대신 ChartFormat.SetDefaultFill()를 우선 사용하세요.

일반적인 문제

문제원인수정
새 차트가 예상치 못한 데모 데이터를 표시합니다InsertChart은 차트에 자리표시자 시리즈를 시드합니다자신의 시리즈를 추가하기 전에 chart.Series.Clear()을 호출하세요
데이터 레이블이 표시되지 않습니다시리즈에 HasDataLabels이 DataLabels을 구성하기 전에 설정되지 않았습니다series.HasDataLabels = true을 설정한 다음 series.DataLabels에서 ShowValue/ShowCategoryName을 구성합니다
값 축에 눈금선이 표시되지 않습니다.해당 축에 대해 HasMajorGridlines/HasMinorGridlines은(는) false이(가) 기본값입니다.chart.AxisY.HasMajorGridlines = true 설정 (필요한 경우 HasMinorGridlines도)
범례가 표시되지 않습니다.Chart.Legend.Position이(가) LegendPosition.None(으)로 설정되었습니다.Position을 Bottom, Right, Top, Left 또는 TopRight(으)로 설정합니다.

FAQ

문서에 차트를 삽입하려면 어떻게 해야 하나요?

DocumentBuilder.InsertChart(chartType, width, height) 를 호출합니다. 이것은 포함된 Shape을 반환합니다; 차트를 구성하려면 해당 Chart 속성을 읽으세요.

차트에 데이터를 추가하려면 어떻게 해야 하나요?

chart.Series.Clear() 로 자리표시자 시리즈를 초기화한 후, chart.Series.Add(seriesName, categories, values) 를 호출합니다(또는 X/Y, 날짜, 혹은 버블 데이터용 다른 Add 오버로드 중 하나를 사용합니다).

사용 가능한 차트 유형은 무엇인가요?

ChartType 은(는) 고전 계열(Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, 및 그 스택형 및 3D 변형)과 Word 2016 차트 유형(Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall)을 포함합니다.

범례가 표시되는 위치를 어떻게 변경하나요?

Chart.Legend.Position 를 LegendPosition 값으로 설정합니다. 예: LegendPosition.Bottom 또는 LegendPosition.Right.

시리즈의 나머지와 다르게 개별 데이터 포인트를 포맷할 수 있나요?

예 — ChartSeries.DataPoints (a ChartDataPointCollection)에 인덱싱하고 해당 ChartDataPoint의 Format, Marker, 또는 Explosion를 시리즈 수준 포맷과는 별개로 설정합니다.


API Reference 요약

클래스/메서드설명
DocumentBuilder.InsertChart커서 위치에 차트 도형을 삽입하고 반환합니다.
Chart차트 구성 객체이며, Shape.Chart를 통해 접근합니다.
ChartType사용 가능한 차트 유형의 열거형 (line, bar, pie, 및 Word-2016 차트 유형).
ChartSeriesCollection / ChartSeries차트의 데이터 시리즈와 이를 추가, 삽입, 또는 제거하는 메서드들.
ChartDataPointCollection / ChartDataPoint시리즈 내 각 포인트별 서식 지정.
ChartDataLabelCollection / ChartDataLabel차트 포인트에 표시되는 값/카테고리 레이블.
ChartAxis / ChartAxisCollection축 구성 — 격자선, 단위, 교차점, 눈금 레이블.
ChartLegend / LegendPosition범례 표시 여부 및 배치.
ChartTitle차트의 전체 캡션.
ChartDataTable플롯 영역 아래에 표시되는 시리즈 값의 선택적 테이블.
ChartFormat대부분의 차트 요소가 공유하는 채우기, 스트로크 및 모양 서식.

참조

 한국어