차트 작업
새로운insertChart메서드가DocumentBuilder클래스에 추가되었습니다. 자,insertChart방법을 사용하여 간단한 세로 막대형 차트를 문서에 삽입하는 방법을 살펴 보겠습니다.
Aspose.Words을 사용하여 처음부터 차트를 삽입하는 방법
이 섹션에서는 문서에 차트를 삽입하는 방법을 배웁니다.
세로 막대형 차트 삽입
다음 코드 예제에서는 세로 막대형 차트를 삽입하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Add chart with default data. You can specify different chart types and sizes. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
// Chart property of Shape contains all chart related options. | |
Chart chart = shape.getChart(); | |
// Get chart series collection. | |
ChartSeriesCollection seriesColl = chart.getSeries(); | |
// Delete default generated series. | |
seriesColl.clear(); | |
// Create category names array, in this example we have two categories. | |
String[] categories = new String[]{"AW Category 1", "AW Category 2"}; | |
// Adding new series. Please note, data arrays must not be empty and arrays must be the same size. | |
seriesColl.add("AW Series 1", categories, new double[]{1, 2}); | |
seriesColl.add("AW Series 2", categories, new double[]{3, 4}); | |
seriesColl.add("AW Series 3", categories, new double[]{5, 6}); | |
seriesColl.add("AW Series 4", categories, new double[]{7, 8}); | |
seriesColl.add("AW Series 5", categories, new double[]{9, 10}); | |
doc.save(dataDir + "TestInsertChartColumn1_out.docx"); |
이 코드는 다음과 같은 결과를 생성합니다:
시리즈 추가 방법에는 네 가지 오버로드가 있으며,이 오버로드는 모든 차트 유형에 대해 가능한 모든 데이터 원본 변형을 포함하도록 노출되었습니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert Column chart. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
Chart chart = shape.getChart(); | |
// Use this overload to add series to any type of Bar, Column, Line and Surface charts. | |
chart.getSeries().add("AW Series 1", new String[]{"AW Category 1", "AW Category 2"}, new double[]{1, 2}); | |
doc.save(dataDir + "TestInsertColumnChart2_out.docx"); |
이 코드는 다음과 같은 결과를 생성합니다:
분산형 차트 삽입
다음 코드 예제에서는 분산형 차트를 삽입하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert Scatter chart. | |
Shape shape = builder.insertChart(ChartType.SCATTER, 432, 252); | |
Chart chart = shape.getChart(); | |
// Use this overload to add series to any type of Scatter charts. | |
chart.getSeries().add("AW Series 1", new double[]{0.7, 1.8, 2.6}, new double[]{2.7, 3.2, 0.8}); | |
doc.save(dataDir + "TestInsertScatterChart_out.docx"); |
이 코드는 다음과 같은 결과를 생성합니다:
영역 차트 삽입
다음 코드 예제에서는 영역 차트를 삽입하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert Area chart. | |
Shape shape = builder.insertChart(ChartType.AREA, 432, 252); | |
Chart chart = shape.getChart(); | |
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); | |
Date date1 = sdf.parse("01/01/2016"); | |
Date date2 = sdf.parse("02/02/2016"); | |
Date date3 = sdf.parse("03/03/2016"); | |
Date date4 = sdf.parse("04/04/2016"); | |
Date date5 = sdf.parse("05/05/2016"); | |
// Use this overload to add series to any type of Area, Radar and Stock charts. | |
chart.getSeries().add("AW Series 1", new Date[]{date1, date2, date3, date4, date5}, new double[]{32, 32, 28, 12, 15}); | |
doc.save(dataDir + "TestInsertAreaChart_out.docx"); |
이 코드는 다음과 같은 결과를 생성합니다:
버블 차트 삽입
다음 코드 예제에서는 거품형 차트를 삽입하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert Bubble chart. | |
Shape shape = builder.insertChart(ChartType.BUBBLE, 432, 252); | |
Chart chart = shape.getChart(); | |
// Use this overload to add series to any type of Bubble charts. | |
chart.getSeries().add("AW Series 1", new double[]{0.7, 1.8, 2.6}, new double[]{2.7, 3.2, 0.8}, new double[]{10, 4, 8}); | |
doc.save(dataDir + "TestInsertBubbleChart_out.docx"); |
이 코드는 다음과 같은 결과를 생성합니다:
Shape.Chart
개체를 통해 차트 작업
차트가 삽입되고 데이터로 채워지면 모양을 변경할 수 있습니다. Shape.Chart속성에는 공용API을 통해 사용할 수 있는 모든 차트 관련 옵션이 포함되어 있습니다.
예를 들어 차트 제목 또는 범례 동작을 변경해 보겠습니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.LINE, 432, 252); | |
Chart chart = shape.getChart(); | |
// Determines whether the title shall be shown for this chart. Default is true. | |
chart.getTitle().setShow(true); | |
// Setting chart Title. | |
chart.getTitle().setText("Sample Line Chart Title"); | |
// Determines whether other chart elements shall be allowed to overlap title. | |
chart.getTitle().setOverlay(false); | |
// Please note if null or empty value is specified as title text, auto generated title will be shown. | |
// Determines how legend shall be shown for this chart. | |
chart.getLegend().setPosition(LegendPosition.LEFT); | |
chart.getLegend().setOverlay(true); | |
doc.save(dataDir + "ChartAppearance_out.docx"); |
코드는 다음 결과를 생성합니다:
차트ChartSeriesCollection작업 방법
ChartSeries컬렉션을 살펴 보겠습니다. 모든 차트 계열은chart.getSeries()컬렉션(Iterable)을 통해 사용할 수 있습니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.LINE, 432, 252); | |
// Chart property of Shape contains all chart related options. | |
Chart chart = shape.getChart(); | |
// Get chart series collection. | |
ChartSeriesCollection seriesCollection = chart.getSeries(); | |
// Check series count. | |
System.out.println(seriesCollection.getCount()); |
당신은 하나 시리즈 하나를 제거하거나 그들 모두를 취소뿐만 아니라 필요한 경우 새 하나를 추가 할 수 있습니다. 새로 삽입된 차트에는 일부 기본 계열이 이 컬렉션에 추가되었습니다. 이를 제거하려면**chart.getSeries().clear()**메서드를 호출해야 합니다.
단일ChartSeries클래스로 작업
다음은 특정 시리즈를 사용하는 방법입니다.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.LINE, 432, 252); | |
// Get first series. | |
ChartSeries series0 = shape.getChart().getSeries().get(0); | |
// Get second series. | |
ChartSeries series1 = shape.getChart().getSeries().get(1); | |
// Change first series name. | |
series0.setName("My Name1"); | |
// Change second series name. | |
series1.setName("My Name2"); | |
// You can also specify whether the line connecting the points on the chart shall be smoothed using Catmull-Rom splines. | |
series0.setSmooth(true); | |
series1.setSmooth(true); | |
doc.save(dataDir + "SingleChartSeries_out.docx"); |
아래 결과를 참조하십시오:
모든 단일ChartSeries에는 기본ChartDataPoint옵션이 있으므로 다음 코드를 사용하여 변경해 보십시오:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.LINE, 432, 252); | |
// Get first series. | |
ChartSeries series0 = shape.getChart().getSeries().get(0); | |
// Get second series. | |
ChartSeries series1 = shape.getChart().getSeries().get(1); | |
// Specifies whether by default the parent element shall inverts its colors if the value is negative. | |
series0.setInvertIfNegative(true); | |
// Set default marker symbol and size. | |
series0.getMarker().setSymbol(MarkerSymbol.CIRCLE); | |
series0.getMarker().setSize(15); | |
series1.getMarker().setSymbol(MarkerSymbol.STAR); | |
series1.getMarker().setSize(10); | |
doc.save(dataDir + "ChartDataPoints_out.docx");// |
ChartSeries
의 단일ChartDataPoint으로 작업하는 방법
ChartDataPoint을 사용하면 차트 계열의 단일 데이터 요소의 서식을 사용자 지정할 수 있습니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.LINE, 432, 252); | |
// Get first series. | |
ChartSeries series0 = shape.getChart().getSeries().get(0); | |
// Get second series. | |
ChartSeries series1 = shape.getChart().getSeries().get(1); | |
ChartDataPointCollection dataPointCollection = series0.getDataPoints(); | |
// Add data point to the first and second point of the first series. | |
ChartDataPoint dataPoint00 = dataPointCollection.add(0); | |
ChartDataPoint dataPoint01 = dataPointCollection.add(1); | |
// Set explosion. | |
dataPoint00.setExplosion(50); | |
// Set marker symbol and size. | |
dataPoint00.getMarker().setSymbol(MarkerSymbol.CIRCLE); | |
dataPoint00.getMarker().setSize(15); | |
dataPoint01.getMarker().setSymbol(MarkerSymbol.DIAMOND); | |
dataPoint01.getMarker().setSize(20); | |
// Add data point to the third point of the second series. | |
ChartDataPoint dataPoint12 = series1.getDataPoints().add(2); | |
dataPoint12.setInvertIfNegative(true); | |
dataPoint12.getMarker().setSymbol(MarkerSymbol.STAR); | |
dataPoint12.getMarker().setSize(20); | |
doc.save(dataDir + "SingleChartDataPointOfAChartSeries_out.docx"); |
아래 결과를 참조하십시오:
단일ChartSeries의ChartDataLabel로 작업하는 방법
ChartDataLabel을 사용하면 표시/숨기기와 같이 차트 계열의 단일 데이터 레이블의 서식을 지정할 수 있습니다LegendKey, CategoryName, SeriesName, 가치 등:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.BAR, 432, 252); | |
// Get first series. | |
ChartSeries series0 = shape.getChart().getSeries().get(0); | |
series0.hasDataLabels(true); | |
// Set properties. | |
series0.getDataLabels().setShowLegendKey(true); | |
// By default, when you add data labels to the data points in a pie chart, leader lines are displayed for data labels that are | |
// positioned far outside the end of data points. Leader lines create a visual connection between a data label and its | |
// corresponding data point. | |
series0.getDataLabels().setShowLeaderLines(true); | |
series0.getDataLabels().setShowCategoryName(false); | |
series0.getDataLabels().setShowPercentage(false); | |
series0.getDataLabels().setShowSeriesName(true); | |
series0.getDataLabels().setShowValue(true); | |
series0.getDataLabels().setSeparator("/"); | |
series0.getDataLabels().setShowValue(true); | |
doc.save(dataDir + "ChartDataLabelOfASingleChartSeries_out.docx"); |
아래 결과를 참조하십시오:
ChartSeries의ChartDataLabels에 대한 기본 옵션을 정의하는 방법
ChartDataLabelCollection클래스는 차트Series의ChartDataLabels에 대한 기본 옵션을 설정하는 데 사용할 수 있는 속성을 정의합니다. 이러한 속성에는setShowCategoryName, setShowBubbleSize, setShowPercentage, setShowSeriesName, setShowValue 기타:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
Shape shape = builder.insertChart(ChartType.PIE, 432, 252); | |
Chart chart = shape.getChart(); | |
chart.getSeries().clear(); | |
ChartSeries series = chart.getSeries().add("Series 1", new String[] { "Category1", "Category2", "Category3" }, | |
new double[] { 2.7, 3.2, 0.8 }); | |
ChartDataLabelCollection labels = series.getDataLabels(); | |
labels.setShowPercentage(true); | |
labels.setShowValue(true); | |
labels.setShowLeaderLines(false); | |
labels.setSeparator(" - "); | |
doc.save(dataDir + "Demo.docx"); |
아래 결과를 참조하십시오:
차트 데이터 레이블 수를 포맷하는 방법
NumberFormat속성을 사용하여 차트의 단일 데이터 레이블의 숫자 서식을 지정할 수 있습니다.
다음 코드 예제에서는 데이터 레이블의 번호를 포맷하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Add chart with default data. | |
Shape shape = builder.insertChart(ChartType.LINE, 432, 252); | |
Chart chart = shape.getChart(); | |
chart.getTitle().setText("Data Labels With Different Number Format"); | |
// Delete default generated series. | |
chart.getSeries().clear(); | |
// Add new series | |
ChartSeries series0 = chart.getSeries().add("AW Series 0", new String[] { "AW0", "AW1", "AW2" }, | |
new double[] { 2.5, 1.5, 3.5 }); | |
series0.hasDataLabels(true); | |
// Set currency format code. | |
series0.getDataLabels().get(0).getNumberFormat().setFormatCode("\"$\"#,##0.00"); | |
// Set date format code. | |
series0.getDataLabels().get(1).getNumberFormat().setFormatCode("d/mm/yyyy"); | |
// Set percentage format code. | |
series0.getDataLabels().get(2).getNumberFormat().setFormatCode("0.00%"); | |
// Or you can set format code to be linked to a source cell, | |
// in this case NumberFormat will be reset to general and inherited from a | |
// source cell. | |
series0.getDataLabels().get(2).getNumberFormat().isLinkedToSource(true); | |
doc.save(dataDir + "NumberFormat_DataLabel_out.docx"); |
차트 축 속성을 설정하는 방법
값 축에 대한 차트 축,크기 조정 및 표시 단위로 작업하려면ChartAxis,AxisDisplayUnit및AxisScaling클래스를 사용하십시오.
다음 코드 예제에서는 속성을 정의하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert chart. | |
Shape shape = builder.insertChart(ChartType.AREA, 432, 252); | |
Chart chart = shape.getChart(); | |
// Clear demo data. | |
chart.getSeries().clear(); | |
// Fill data. | |
chart.getSeries().add("AW Series 1", | |
new Date[]{new Date(2002, 1, 1), new Date(2002, 6, 1), new Date(2015, 7, 1), new Date(2015, 8, 1), new Date(2015, 9, 1)}, | |
new double[]{640, 320, 280, 120, 150}); | |
ChartAxis xAxis = chart.getAxisX(); | |
ChartAxis yAxis = chart.getAxisY(); | |
// Change the X axis to be category instead of date, so all the points will be put with equal interval on the X axis. | |
xAxis.setCategoryType(AxisCategoryType.CATEGORY); | |
// Define X axis properties. | |
xAxis.setCrosses(AxisCrosses.CUSTOM); | |
xAxis.setCrossesAt(3); // measured in display units of the Y axis (hundreds) | |
xAxis.setReverseOrder(true); | |
xAxis.setMajorTickMark(AxisTickMark.CROSS); | |
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE); | |
xAxis.setTickLabelOffset(200); | |
// Define Y axis properties. | |
yAxis.setTickLabelPosition(AxisTickLabelPosition.HIGH); | |
yAxis.setMajorUnit(100); | |
yAxis.setMinorUnit(50); | |
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS); | |
yAxis.getScaling().setMinimum(new AxisBound(100)); | |
yAxis.getScaling().setMaximum(new AxisBound(700)); | |
dataDir = dataDir + "SetAxisProperties_out.docx"; | |
doc.save(dataDir); |
축의DateTime값을 설정하는 방법
다음 코드 예제에서는 날짜/시간 값을 축 속성으로 설정하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert chart. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
Chart chart = shape.getChart(); | |
// Clear demo data. | |
chart.getSeries().clear(); | |
// Fill data. | |
chart.getSeries().add("AW Series 1", | |
new Date[]{new Date(2017, 11, 06), new Date(2017, 11, 9), new Date(2017, 11, 15), | |
new Date(2017, 11, 21), new Date(2017, 11, 25), new Date(2017, 11, 29)}, | |
new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3} | |
); | |
// Set X axis bounds. | |
ChartAxis xAxis = chart.getAxisX(); | |
xAxis.getScaling().setMinimum(new AxisBound(new Date(2017, 11, 5).getTime())); | |
xAxis.getScaling().setMaximum(new AxisBound(new Date(2017, 12, 3).getTime())); | |
// Set major units to a week and minor units to a day. | |
xAxis.setMajorUnit(7); | |
xAxis.setMinorUnit(1); | |
xAxis.setMajorTickMark(AxisTickMark.CROSS); | |
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE); | |
dataDir = dataDir + "SetDateTimeValuesToAxis_out.docx"; | |
doc.save(dataDir); |
축의 숫자 값을 포맷하는 방법
다음 코드 예제에서는 값 축에서 숫자 형식을 변경하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert chart. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
Chart chart = shape.getChart(); | |
// Clear demo data. | |
chart.getSeries().clear(); | |
// Fill data. | |
chart.getSeries().add("AW Series 1", | |
new String[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"}, | |
new double[]{1900000, 850000, 2100000, 600000, 1500000}); | |
// Set number format. | |
chart.getAxisY().getNumberFormat().setFormatCode("#,##0"); | |
dataDir = dataDir + "FormatAxisNumber_out.docx"; | |
doc.save(dataDir); |
축 경계를 설정하는 방법
AxisBound
클래스는 축 값의 최소 또는 최대 경계를 나타냅니다. 바인딩은 숫자,날짜-시간 또는 특수"자동"값으로 지정할 수 있습니다.
다음 코드 예제에서는 축의 경계를 설정하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert chart. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
Chart chart = shape.getChart(); | |
// Clear demo data. | |
chart.getSeries().clear(); | |
// Fill data. | |
chart.getSeries().add("AW Series 1", | |
new String[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"}, | |
new double[]{1.2, 0.3, 2.1, 2.9, 4.2}); | |
chart.getAxisY().getScaling().setMinimum(new AxisBound(0)); | |
chart.getAxisY().getScaling().setMaximum(new AxisBound(6)); | |
dataDir = dataDir + "SetboundsOfAxis_out.docx"; | |
doc.save(dataDir); |
레이블 사이의 간격 단위를 설정하는 방법
다음 코드 예제에서는 축의 레이블 간 간격 단위를 설정하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert chart. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
Chart chart = shape.getChart(); | |
// Clear demo data. | |
chart.getSeries().clear(); | |
// Fill data. | |
chart.getSeries().add("AW Series 1", | |
new String[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"}, | |
new double[]{1.2, 0.3, 2.1, 2.9, 4.2}); | |
chart.getAxisX().setTickLabelSpacing(2); | |
dataDir = dataDir + "SetIntervalUnitBetweenLabelsOnAxis_out.docx"; | |
doc.save(dataDir); |
차트 축을 숨기는 방법
차트 축을 표시하거나 숨기려면ChartAxis.Hidden
속성 값을 설정하면 됩니다.
다음 코드 예제에서는 차트의 축을 숨기는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Insert chart. | |
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252); | |
Chart chart = shape.getChart(); | |
// Clear demo data. | |
chart.getSeries().clear(); | |
// Fill data. | |
chart.getSeries().add("AW Series 1", | |
new String[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"}, | |
new double[]{1.2, 0.3, 2.1, 2.9, 4.2}); | |
// Hide the Y axis. | |
chart.getAxisY().setHidden(true); | |
dataDir = dataDir + "HideChartAxis_out.docx"; | |
doc.save(dataDir); |
차트 레이블을 정렬하는 방법
여러 줄 레이블에 대한 텍스트 정렬을 설정하려면setTickLabelAlignment()속성 값을 설정하면 됩니다.
다음 코드 예제에서는 레이블 정렬을 선택하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "Document.docx"); | |
Shape shape = (Shape) doc.getChild(NodeType.SHAPE, 0, true); | |
ChartAxis axis = shape.getChart().getAxisX(); | |
//This property has effect only for multi-line labels. | |
axis.setTickLabelAlignment(ParagraphAlignment.RIGHT); | |
doc.save(dataDir + "Document_out.docx"); |
채우기 및 획 서식을 설정하는 방법
차트 계열,데이터 요소 및 마커에 대해 채우기 및 획 서식을 설정할 수 있습니다. 이렇게 하려면ChartSeries,ChartDataPoint및ChartMarker클래스의ChartFormat
형식의 속성과ForeColor,BackColor,표시 및Stroke
클래스의 투명도와 같은 일부 속성의 별칭을 사용해야 합니다.
다음 코드 예제에서는 계열 색상을 설정하는 방법을 보여 줍니다:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };
// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });
// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;
doc.Save("ColumnColor.docx");
다음 코드 예제에서는 선 색상 및 가중치를 설정하는 방법을 보여 줍니다:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 }, new double[] { 3, 1, 2 });
// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;
doc.Save("LineColorAndWeight.docx");