.NET에서 차트를 사용하는 방법
이 가이드는 .NET용 Aspose.Words FOSS를 사용하여 기본 Word 차트를 삽입하고 모양을 제어하는 방법을 보여줍니다 — 범례와 축을 숨기고, 값 축 스케일을 고정한 뒤, 다른 차트 유형을 선택하고 데이터 레이블 및 개별 포인트를 서식 지정합니다. .NET용 Aspose.Words FOSS는 NuGet를 통해 또는 소스에서 빌드하여 사용할 수 있습니다.
단계별 가이드
Step 1: 라이브러리 가져오기
저장소를 복제하고 빌드 Aspose.Words.sln Release 구성으로, 그런 다음 프로젝트 참조를 추가 Aspose.Words.csproj 귀하의 자체 .NET 프로젝트에서, 아래에 설명된 대로 설치 가이드.
Step 2: 차트를 삽입하고 모양을 단순화하기
DocumentBuilder.InsertChart(chartType, width, height)은(는) 커서 위치에 차트 도형을 삽입하고 포함된 Shape을 반환합니다; 그 Chart 속성은 구성하는 Chart 객체이며, 주요 하위 객체로 AxisX, AxisY, Legend, Title이 있습니다. 차트 유형은 핵심 Aspose.Words 네임스페이스와 함께 Aspose.Words.Drawing.Charts 네임스페이스에 존재합니다. 새 Document에 최소한의 프레젠테이션 준비된 ChartType.Bar 차트를 만들려면 보통 Legend.Position를 LegendPosition.None으로 설정하고, AxisY와 AxisX의 Hidden와 HasMajorGridlines를 설정하며, Title.Show를 false로 지정하고, Series.Add(seriesName, categories, values)을 호출하기 전에 Series.Clear()으로 ChartSeriesCollection를 지우고, 자동 스케일 대신 고정된 AxisBound에 AxisY.Scaling.Maximum를 고정한 뒤, Document.Save로 결과를 기록합니다. 전체 예제 — Document, DocumentBuilder, Chart, AxisX, AxisY, Legend, Title, ChartSeriesCollection, AxisBound, 및 Document.Save — 는 다음과 같습니다:
using Aspose.Words;
using Aspose.Words.Drawing.Charts;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Bar, 432, 252);
Chart chart = shape.Chart;
chart.Legend.Position = LegendPosition.None;
ChartSeriesCollection seriesColl = chart.Series;
chart.AxisY.Hidden = true;
chart.AxisY.HasMajorGridlines = false;
chart.AxisX.Hidden = true;
chart.Title.Show = false;
seriesColl.Clear();
chart.AxisY.Scaling.Maximum = new AxisBound(100);
string[] categories = new string[] { "AW Category 1" };
seriesColl.Add("AW Series 1", categories, new double[] { 30 });
doc.Save("chart.docx");이것은 Document을(를) 만들고, ChartType.Bar 차트를 삽입하며, 범례를 숨기기 위해 Chart.Legend.Position를 LegendPosition.None으로 설정하고, chart.AxisY에 Hidden = true와 HasMajorGridlines = false를, chart.AxisX에 Hidden = true를 설정하고, chart.Title.Show = false를 설정하고, seriesColl.Clear()으로 자리표시자 시리즈를 지우며, chart.AxisY.Scaling.Maximum = new AxisBound(100)를 통해 100 최대값으로 값 축을 고정하고, seriesColl.Add(seriesName, categories, values)으로 실제 시리즈 하나를 추가하고, Document.Save로 결과를 기록합니다.
3단계: 다른 차트 유형 선택
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에 전달하세요 — 삽입 후 기존 차트의 유형을 변경하는 멤버는 없으므로, 미리 올바른 유형을 선택하거나 도형을 교체하십시오.
4단계: 데이터 레이블 추가 및 서식 지정
series.HasDataLabels = true을(를) series.DataLabels(a ChartDataLabelCollection)을(를) 구성하기 전에 설정하십시오 — 레이블이 꺼져 있는 동안 해당 표시 토글은 눈에 보이는 효과가 없습니다. ShowValue, ShowCategoryName, ShowPercentage는 표시되는 정보 항목을 제어하고, Position는 데이터 포인트에 상대적으로 위치시킵니다.
5단계: 개별 데이터 포인트 서식 지정
시리즈의 DataPoints(a ChartDataPointCollection)에 인덱스하여 하나의 ChartDataPoint에 도달하고, 해당 Format, Marker, Explosion 또는 InvertIfNegative를 시리즈의 나머지와 독립적으로 설정합니다. 이렇게 하면 전체 시리즈의 스타일을 변경하지 않고 단일 막대, 슬라이스 또는 마커를 강조 표시할 수 있습니다.
일반적인 문제 및 해결 방법
새 차트에 예상치 못한 데모 데이터가 표시됩니다. InsertChart 플레이스홀더 시리즈로 차트를 시드합니다. 호출 chart.Series.Clear() 자신의 시리즈를 추가하기 전에.
Hiding AxisY 그리드 라인을 제거하지 않습니다. Hidden 축 라인과 레이블을 숨깁니다; 그리드라인은 별도의 토글입니다. 설정 HasMajorGridlines = false (그리고 HasMinorGridlines = false 부그리드라인도 보이는 경우).
데이터 레이블이 설정 후 나타나지 않습니다 ShowValue = true. HasDataLabels 시리즈에 먼저 설정되지 않았습니다. 설정 series.HasDataLabels = true, 그런 다음 구성 series.DataLabels.
Scaling.Maximum 적용되지 않는 것 같습니다. 올바른 축 객체에 설정하고 있는지 확인하십시오 (chart.AxisY 대부분의 차트 유형에서 값 축에 대해) 그리고 이전 코드 경로가 재설정되지 않도록 Scaling 기본값으로 복원 AxisBound().
자주 묻는 질문
차트의 범례를 어떻게 숨기나요?
chart.Legend.Position = LegendPosition.None을(를) 설정하세요.
축을 자동 스케일링 대신 특정 범위에 고정하려면 어떻게 해야 하나요?
AxisScaling.Minimum 및/또는 AxisScaling.Maximum을(를) (AxisBound 값 모두) chart.AxisX.Scaling 또는 chart.AxisY.Scaling에 설정합니다.
차트 제목을 삭제하지 않고 숨기려면 어떻게 해야 하나요?
chart.Title.Show = false을(를) 설정합니다. ChartTitle 객체와 그 Text는 그대로 유지되며, 표시되는 캡션만 억제됩니다.
사용 가능한 차트 유형은 무엇인가요?
ChartType은(는) 클래식 계열(Line, Bar, Column, Pie, Area, Scatter, Bubble, Radar, Stock, Surface, 그리고 누적 및 3D 변형)과 Word 2016 유형(Treemap, Sunburst, Histogram, Pareto, BoxAndWhisker, Waterfall)을 나열합니다.
시리즈의 다른 데이터 포인트와 달리 하나의 데이터 포인트만 별도로 서식 지정할 수 있나요?
예 — ChartSeries.DataPoints에 인덱싱하고 해당 ChartDataPoint의 Format, Marker 또는 Explosion를 각각 독립적으로 설정합니다.