Python でチャート系列を管理する
系列は、チャートにプロットされた数値の行または列です。

チャート系列の重なりを設定する
IChartSeriesOverlapプロパティを使用すると、2Dチャート上でバーと列がどれだけ重なるべきかを指定できます(範囲:-100から100)。このプロパティは親系列グループのすべての系列に適用されます:これは適切なグループプロパティの投影です。したがって、このプロパティは読み取り専用です。
parent_series_group.overlapの読み書き可能プロパティを使用して、overlapの好みの値を設定します。
- Presentationクラスのインスタンスを作成します。
- スライドにクラスター化されたコラムチャートを追加します。
- 最初のチャート系列にアクセスします。
- チャート系列のparent_series_groupにアクセスし、系列の好みの重なり値を設定します。
- 修正したプレゼンテーションをPPTXファイルに書き込みます。
このPythonコードは、チャート系列の重なりを設定する方法を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as presentation:
    # チャートを追加
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400, True)
    series = chart.chart_data.series
    if series[0].overlap == 0:
        # 系列の重なりを設定
        series[0].parent_series_group.overlap = -30
    # プレゼンテーションファイルをディスクに書き込む
    presentation.save("SetChartSeriesOverlap_out.pptx", slides.export.SaveFormat.PPTX)
系列の色を変更する
Aspose.Slides for Python via .NETを使用すると、次の方法で系列の色を変更できます:
- Presentationクラスのインスタンスを作成します。
- スライドにチャートを追加します。
- 色を変更したい系列にアクセスします。
- 好みの塗りつぶしタイプと塗りつぶし色を設定します。
- 修正したプレゼンテーションを保存します。
このPythonコードは、系列の色を変更する方法を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
	chart = pres.slides[0].shapes.add_chart(charts.ChartType.PIE, 50, 50, 600, 400)
	point = chart.chart_data.series[0].data_points[1]
	
	point.explosion = 30
	point.format.fill.fill_type = slides.FillType.SOLID
	point.format.fill.solid_fill_color.color = draw.Color.blue
	pres.save("output.pptx", slides.export.SaveFormat.PPTX)
系列カテゴリの色を変更する
Aspose.Slides for Python via .NETを使用すると、次の方法で系列カテゴリの色を変更できます:
- Presentationクラスのインスタンスを作成します。
- スライドにチャートを追加します。
- 色を変更したい系列カテゴリにアクセスします。
- 好みの塗りつぶしタイプと塗りつぶし色を設定します。
- 修正したプレゼンテーションを保存します。
このPythonコードは、シリーズカテゴリの色を変更する方法を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
	chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400)
	point = chart.chart_data.series[0].data_points[0]
	
	point.format.fill.fill_type = slides.FillType.SOLID
	point.format.fill.solid_fill_color.color = draw.Color.blue
	pres.save("output.pptx", slides.export.SaveFormat.PPTX)
系列の名前を変更する
デフォルトでは、チャートの凡例名は、データの各列または行の上にあるセルの内容です。
例(サンプル画像)では、
- 列は系列 1, 系列 2, および 系列 3です;
- 行は カテゴリー 1, カテゴリー 2, カテゴリー 3, および カテゴリー 4です。
Aspose.Slides for Python via .NETを使用すると、チャートのデータと凡例で系列名を更新または変更できます。
このPythonコードは、チャートデータChartDataWorkbook内で系列名を変更する方法を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.COLUMN_3D, 50, 50, 600, 400, True)
    
    seriesCell = chart.chart_data.chart_data_workbook.get_cell(0, 0, 1)
    seriesCell.value = "新しい名前"
    
    pres.save("pres.pptx", slides.export.SaveFormat.PPTX)
このPythonコードは、Seriesを通じて系列名を凡例で変更する方法を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.COLUMN_3D, 50, 50, 600, 400, True)
    series = chart.chart_data.series[0]
    
    series.name.as_cells[0].value = "新しい名前"
    pres.save("pres.pptx", slides.export.SaveFormat.PPTX) 
チャートシリーズの塗りつぶし色を設定する
Aspose.Slides for Python via .NETを使用すると、プロット領域内のチャートシリーズの自動塗りつぶし色を次のように設定できます:
- Presentationクラスのインスタンスを作成します。
- インデックスによってスライドの参照を取得します。
- お好みのタイプに基づいてデフォルトデータを持つチャートを追加します(以下の例では、ChartType.CLUSTERED_COLUMNを使用しました)。
- チャートシリーズにアクセスし、塗りつぶし色を自動に設定します。
- プレゼンテーションをPPTXファイルに保存します。
このPythonコードは、チャート系列の自動塗りつぶし色を設定する方法を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as presentation:
    # クラスター化されたコラムチャートを作成
    chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 50, 600, 400)
    # 系列の塗りつぶし形式を自動に設定
    for i in range(len(chart.chart_data.series)):
        chart.chart_data.series[i].get_automatic_series_color()
    # プレゼンテーションファイルをディスクに書き込む
    presentation.save("AutoFillSeries_out.pptx", slides.export.SaveFormat.PPTX)
チャート系列の塗りつぶし色を反転させる
Aspose.Slidesを使用すると、プロット領域内のチャート系列の逆塗りつぶし色を次の方法で設定できます:
- Presentationクラスのインスタンスを作成します。
- インデックスによってスライドの参照を取得します。
- お好みのタイプに基づいてデフォルトデータを持つチャートを追加します(以下の例では、ChartType.CLUSTERED_COLUMNを使用しました)。
- チャート系列にアクセスし、塗りつぶし色を反転させるように設定します。
- プレゼンテーションをPPTXファイルに保存します。
このPythonコードは、操作を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300)
    workBook = chart.chart_data.chart_data_workbook
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()
    # 新しい系列とカテゴリを追加
    chart.chart_data.series.add(workBook.get_cell(0, 0, 1, "系列 1"), chart.type)
    chart.chart_data.categories.add(workBook.get_cell(0, 1, 0, "カテゴリー 1"))
    chart.chart_data.categories.add(workBook.get_cell(0, 2, 0, "カテゴリー 2"))
    chart.chart_data.categories.add(workBook.get_cell(0, 3, 0, "カテゴリー 3"))
    # 最初のチャート系列を取り出し、系列データを追加
    series = chart.chart_data.series[0]
    series.data_points.add_data_point_for_bar_series(workBook.get_cell(0, 1, 1, -20))
    series.data_points.add_data_point_for_bar_series(workBook.get_cell(0, 2, 1, 50))
    series.data_points.add_data_point_for_bar_series(workBook.get_cell(0, 3, 1, -30))
    seriesColor = series.get_automatic_series_color()
    series.invert_if_negative = True
    series.format.fill.fill_type = slides.FillType.SOLID
    series.format.fill.solid_fill_color.color = seriesColor
    series.inverted_solid_fill_color.color = draw.Color.red
    pres.save("SetInvertFillColorChart_out.pptx", slides.export.SaveFormat.PPTX)
値が負のときに系列を反転させる
Aspose.Slidesは、ChartDataPoint.invert_if_negativeプロパティを通じて反転を設定できます。プロパティを使用して反転を設定すると、データポイントは負の値を取得したときにその色を反転させます。
このPythonコードは、操作を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
	chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400, True)
	series = chart.chart_data.series
	chart.chart_data.series.clear()
	series.add(chart.chart_data.chart_data_workbook.get_cell(0, "B1"), chart.type)
	series[0].data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B2", -5))
	series[0].data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B3", 3))
	series[0].data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B4", -2))
	series[0].data_points.add_data_point_for_bar_series(chart.chart_data.chart_data_workbook.get_cell(0, "B5", 1))
	series[0].invert_if_negative = False
	series[0].data_points[2].invert_if_negative = True
	pres.save("out.pptx", slides.export.SaveFormat.PPTX)
特定のデータポイントのデータをクリアする
Aspose.Slides for Python via .NETを使用すると、特定のチャート系列のdata_pointsデータを次のようにクリアできます:
- Presentationクラスのインスタンスを作成します。
- インデックスを通じてスライドの参照を取得します。
- インデックスを通じてチャートの参照を取得します。
- すべてのチャートdata_pointsを反復処理し、x_valueとy_valueをnullに設定します。
- 特定のチャート系列のすべてのdata_pointsをクリアします。
- 修正したプレゼンテーションをPPTXファイルに書き込みます。
このPythonコードは、操作を示しています:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation(path + "TestChart.pptx") as pres:
    sl = pres.slides[0]
    chart = sl.shapes[0]
    for dataPoint in chart.chart_data.series[0].data_points:
        dataPoint.x_value.as_cell.value = None
        dataPoint.y_value.as_cell.value = None
    chart.chart_data.series[0].data_points.clear()
    pres.save("ClearSpecificChartSeriesDataPointsData.pptx", slides.export.SaveFormat.PPTX)
系列の間隔幅を設定する
Aspose.Slides for Python via .NETを使用すると、**gap_width**プロパティを通じて系列の間隔幅を次のように設定できます:
- Presentationクラスのインスタンスを作成します。
- 最初のスライドにアクセスします。
- デフォルトデータでチャートを追加します。
- 任意のチャート系列にアクセスします。
- gap_widthプロパティを設定します。
- 修正したプレゼンテーションをPPTXファイルに書き込みます。
このPythonコードは、系列の間隔幅を設定する方法を示しています:
# 空のプレゼンテーションを作成 
with slides.Presentation() as presentation:
    # プレゼンテーションの最初のスライドにアクセス
    slide = presentation.slides[0]
    # デフォルトデータでチャートを追加
    chart = slide.shapes.add_chart(charts.ChartType.STACKED_COLUMN, 0, 0, 500, 500)
    # チャートデータシートのインデックスを設定
    defaultWorksheetIndex = 0
    # チャートデータワークシートを取得
    fact = chart.chart_data.chart_data_workbook
    # 系列を追加
    chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "系列 1"), chart.type)
    chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "系列 2"), chart.type)
    # カテゴリを追加
    chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "カテゴリー 1"))
    chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "カテゴリー 2"))
    chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "カテゴリー 3"))
    # 二番目のチャート系列を取得
    series = chart.chart_data.series[1]
    # 系列データを補充
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
    # GapWidth値を設定
    series.parent_series_group.gap_width = 50
    # プレゼンテーションをディスクに保存
    presentation.save("GapWidth_out.pptx", slides.export.SaveFormat.PPTX)