2017-12-22 36 views
0

두 번째 시리즈가 ClusteredColumn이고 다른 하나가 ScatterWithStraightLinesAndMarkers 인 경우 Aspose 슬라이드 API를 사용하여 보조 X 축 (수평 축)없이 이중 Y 차트를 그릴 수 있습니까? ? (여기서 우리는 각각의 시리즈에 대한 값이 각각 왼쪽 및 오른쪽 Y 축에 플롯되어 있다고 가정합니다). 누군가 이걸로 나를 도울 수 있습니까? 미리 감사드립니다.Aspose 2 차 수평각 축이없는 이중 Y 축 차트 그리기

Aspose Slides가 Powerpoint Version 2013을 지원하는지 알고 싶었습니다. 차트 스타일을 설정할 때 슬라이드에 문제가 발생합니다. 불행히도 PPTX 파일을 열고 차트 스타일을 수정해야합니다.

답변

0

@KrithikaM,

는 여러 개의 축에 차트를 플로팅에 대한 귀하의 요구 사항을 관찰했다. 다음 예제 코드를 사용해 보시기 바랍니다. 하나의 축에 클러스터 된 기둥 형 차트를 추가하고 다른 축에 선을 추가했습니다. 공유 샘플이 도움이되기를 바랍니다. 둘째, Aspose.Slides는 PowerPoint에서 MSO 차트도 지원합니다. 캐릭터에 문제가 있으면, 우리와 공유 할 수 있습니다. 우리는 당신을 위해 그것을 조사 할 것입니다.

public static void chartwithmultipleTypes() 
{ 
    //Instantiate Presentation class that represents PPTX file//Instantiate Presentation class that represents PPTX file 
    Presentation pres = new Presentation(); 

    //Access first slide 
    ISlide sld = pres.Slides[0]; 

    // Add chart with default data 
    IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500); 

    //Setting chart Title 
    //chart.ChartTitle.TextFrameForOverriding.Text = "Sample Title"; 
    chart.ChartTitle.AddTextFrameForOverriding("Sample Title"); 
    chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True; 
    chart.ChartTitle.Height = 20; 
    chart.HasTitle = true; 

    //Set first series to Show Values 
    chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true; 

    //Setting the index of chart data sheet 
    int defaultWorksheetIndex = 0; 

    //Getting the chart data worksheet 
    IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; 

    //Delete default generated series and categories 
    chart.ChartData.Series.Clear(); 
    chart.ChartData.Categories.Clear(); 
    int s = chart.ChartData.Series.Count; 
    s = chart.ChartData.Categories.Count; 

    //Adding new series 
    chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type); 
    chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type); 

    //Adding new categories 
    chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1")); 
    chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2")); 
    chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3")); 

    //Take first chart series 
    IChartSeries series = chart.ChartData.Series[0]; 

    //Now populating series data 

    series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20)); 
    series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50)); 
    series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30)); 

    //Setting fill color for series 
    series.Format.Fill.FillType = FillType.Solid; 
    series.Format.Fill.SolidFillColor.Color = Color.Red; 


    //Take second chart series 
    series = chart.ChartData.Series[1]; 

    //Now populating series data 
    series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30)); 
    series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10)); 
    series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60)); 

    //Setting fill color for series 
    series.Format.Fill.FillType = FillType.Solid; 
    series.Format.Fill.SolidFillColor.Color = Color.Green; 


    //create custom labels for each of categories for new series 

    //first label will be show Category name 
    IDataLabel lbl = series.DataPoints[0].Label; 
    lbl.DataLabelFormat.ShowCategoryName = true; 

    lbl = series.DataPoints[1].Label; 
    lbl.DataLabelFormat.ShowSeriesName = true; 

    //Show value for third label 
    lbl = series.DataPoints[2].Label; 
    lbl.DataLabelFormat.ShowValue = true; 
    lbl.DataLabelFormat.ShowSeriesName = true; 
    lbl.DataLabelFormat.Separator = "/"; 


    /////Addding second type 
    //Add new series 
    series=chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 3, "Series 3"), ChartType.ScatterWithSmoothLines); 


    //Add new point (1:3) there. 
    series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 1, 3, 10), fact.GetCell(defaultWorksheetIndex, 1, 4, 13)); 

    //Add new point (2:10) 
    series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 20), fact.GetCell(defaultWorksheetIndex, 2, 4, 15)); 



    //Changing the chart series marker 
    series.Marker.Size = 10; 
    series.Marker.Symbol = MarkerStyleType.Star; 
    series.PlotOnSecondAxis = true; 

    //Take second chart series 
    series=chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 5, "Series 4"), ChartType.ScatterWithStraightLinesAndMarkers); 

    //Add new point (5:2) there. 
    series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 1, 5, 5), fact.GetCell(defaultWorksheetIndex, 1, 6, 2)); 

    //Add new point (3:1) 
    series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 5, 3), fact.GetCell(defaultWorksheetIndex, 2, 6, 1)); 

    //Add new point (2:2) 
    series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 5, 2), fact.GetCell(defaultWorksheetIndex, 3, 6, 2)); 

    //Add new point (5:1) 
    series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 5, 5), fact.GetCell(defaultWorksheetIndex, 4, 6, 1)); 

    //Changing the chart series marker 
    series.Marker.Size = 10; 
    series.Marker.Symbol = MarkerStyleType.Circle; 

    series.PlotOnSecondAxis = true; 


    //Save presentation with chart 
    pres.Save("C:\Presentations\AsposeChart.pptx", SaveFormat.Pptx); 
} 

저는 Aspose의 개발자/에반젤리스트에게 지원을하고 있습니다.