チャートの作成と管理

チャートの作成

単純なチャートの作成

以下の例コードを使用して、Aspose.Cells for Python via .NETでチャートを簡単に作成できます:

from aspose.cells import Workbook
from aspose.cells.charts import ChartType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the first worksheet
worksheet = workbook.worksheets[0]
# Adding sample values to cells
worksheet.cells.get("A2").put_value("Category1")
worksheet.cells.get("A3").put_value("Category2")
worksheet.cells.get("A4").put_value("Category3")
worksheet.cells.get("B1").put_value("Column1")
worksheet.cells.get("B2").put_value(4)
worksheet.cells.get("B3").put_value(20)
worksheet.cells.get("B4").put_value(50)
worksheet.cells.get("C1").put_value("Column2")
worksheet.cells.get("C2").put_value(50)
worksheet.cells.get("C3").put_value(100)
worksheet.cells.get("C4").put_value(150)
# Adding a chart to the worksheet
chartIndex = worksheet.charts.add(ChartType.COLUMN, 5, 0, 15, 5)
# Accessing the instance of the newly added chart
chart = worksheet.charts[chartIndex]
# Setting chart data source as the range "A1:C4"
chart.set_chart_data_range("A1:C4", True)
# Saving the Excel file
workbook.save(dataDir + "output.xls")

チャート作成のための注意事項

チャートを作成する前に、Aspose.Cells for Python via .NETを使用したチャート作成時に役立つ基本的な概念を理解することが重要です。

チャートオブジェクト

Aspose.Cells for Python via .NETは、Aspose.Cells for Python via .NETがサポートするチャートを作成するために使用されるAspose.Cells.Charts名前空間内の特殊なクラスセットを提供します。これらのクラスは、チャート作成オブジェクトを作成するために使用され、これらはチャートの構成要素として機能します。チャート作成オブジェクトは以下の通りです:

  • シリーズ、チャート内の単一のデータシリーズ。
  • 軸、チャートの軸。
  • Chart, 単一のExcelグラフ。
  • ChartArea, ワークシート内のグラフエリア。
  • ChartDataTable, グラフデータテーブル。
  • ChartFrame, グラフ内のフレームオブジェクト。
  • ChartPoint, グラフ内のシリーズの単一のポイント。
  • ChartPointCollection, 1つのシリーズ内のすべてのポイントを含むコレクション。
  • Charts, Chartオブジェクトのコレクション。
  • DataLabels, 指定されたシリーズのすべてのDataLabelオブジェクトのコレクション。
  • FillFormat, シェイプの塗りつぶし形式。
  • Floor, 3Dグラフの床。
  • Legend, グラフの凡例。
  • Line, グラフの線。
  • SeriesCollection, Seriesオブジェクトのコレクション。
  • TickLabels, グラフ軸の目盛りのラベル。
  • Title, グラフまたは軸のタイトル。
  • Trendline, グラフ内のトレンドライン。
  • TrendlineCollection, 指定されたデータシリーズのすべてのTrendlineオブジェクトのコレクション。
  • Walls, 3Dグラフの壁。

Chartingオブジェクトの使用

上記のように、すべてのチャートオブジェクトはそれぞれのクラスのインスタンスであり、特定のタスクを実行するための特定のプロパティとメソッドを提供します。チャートオブジェクトを使用して、チャートを作成します。

ワークシートに任意の種類のチャートを追加するには、chartsのコレクションを使用します。chartsのコレクション内の各アイテムはChartオブジェクトを表します。Chartオブジェクトはグラフの外観をカスタマイズするために必要な他のすべてのチャートオブジェクトをカプセル化します。次のセクションでは、いくつかの基本的なチャートオブジェクトを使用して、単純なチャートを作成する方法を示します。

Aspose.Cells for Python via .NETを使用したチャートの作成

手順:

  1. Cellオブジェクトのput_valueメソッドを使用してワークシートセルにデータを追加します。 これはグラフのデータソースとして使用されます。
  2. chartsコレクションのaddメソッドを呼び出してワークシートにチャートを追加します。これはWorksheetオブジェクトにカプセル化されています。
  3. ChartType列挙型を使用してチャートのタイプを指定します。 たとえば、以下の例では、ChartType.PYRAMID値をチャートの種類として使用しています。
  4. インデックスを渡してchartsコレクションから新しいChartオブジェクトをアクセスします。
  5. Chartオブジェクトにカプセル化されたチャートの管理に使用できるいずれかのチャートオブジェクトを使用します。 以下の例では、SeriesCollectionチャートオブジェクトを使用して、チャートのデータソースを指定します。

チャートにソースデータを追加する場合、データソースはセルの範囲(“A1:C3"など)、非連続セルのシーケンス(“A1, A3, A5"など)、値のシーケンス(“1,2,3"など)のいずれかです。

これらの一般的な手順を使用すると、任意のタイプのチャートを作成できます。異なるチャートオブジェクトを使用して、異なるチャートを作成します。

Aspose.Cells for Python via .NETを使用すると、多種多様なチャートを作成できます。Aspose.Cells for Python via .NETがサポートするすべての標準チャートは、Aspose.Cells.Charts.ChartTypeと呼ばれる列挙体に事前定義されています。

事前定義されたチャートの種類は:

チャートの種類 説明
Column クラスタ化された列チャートを表します。
ColumnStacked 積み上げ列チャートを表します。
Column100PercentStacked 100% 積み上げ列チャートを表します。
Column3DClustered 3D クラスタ化された列チャートを表します。
Column3DStacked 3D 積み上げ列チャートを表します。
Column3D100PercentStacked 3D 100% 積み上げ列チャートを表します。
Column3D 3D 列チャートを表します。
Bar クラスタ化された棒チャートを表します。
BarStacked 積み上げ棒チャートを表します。
Bar100PercentStacked 100% 積み上げ棒チャートを表します。
Bar3DClustered 3D クラスタ化された棒チャートを表します。
Bar3DStacked 3D 積み上げ棒チャートを表します。
Bar3D100PercentStacked 3D 100% 積み上げ棒チャートを表します。
Line 折れ線チャートを表します。
LineStacked 積み上げ折れ線チャートを表します。
Line100PercentStacked 100% 積み上げ折れ線チャートを表します。
LineWithDataMarkers データマーカー付きの折れ線チャートを表します。
LineStackedWithDataMarkers データマーカー付きの積み上げ折れ線チャートを表します。
Line100PercentStackedWithDataMarkers データマーカー付きの100% 積み上げ折れ線チャートを表します。
Line3D 3D 折れ線チャートを表します。
Pie 円グラフを表します。
Pie3D 3D 円グラフを表します。
PiePie パイ オブ パイ チャートを表します。
PieExploded 分解された円グラフを表します。
Pie3DExploded 3Dエクスプロード円グラフを表します
PieBar パイチャートのバーを表します
Scatter 散布図を表します
ScatterConnectedByCurvesWithDataMarker データマーカー付きの曲線で接続された散布図を表します
ScatterConnectedByCurvesWithoutDataMarker データマーカーなしの曲線で接続された散布図を表します
ScatterConnectedByLinesWithDataMarker データマーカー付きの線で接続された散布図を表します
ScatterConnectedByLinesWithoutDataMarker データマーカーなしの線で接続された散布図を表します
Area エリアチャートを表します
AreaStacked 積み上げエリアチャートを表します
Area100PercentStacked 100% 積み上げエリアチャートを表します
Area3D 3Dエリアチャートを表します
Area3DStacked 3D積み上げエリアチャートを表します
Area3D100PercentStacked 3D 100% 積み上げエリアチャートを表します
Doughnut ドーナツチャートを表します
DoughnutExploded 分裂したドーナツチャートを表します
Radar レーダーチャートを表します
RadarWithDataMarkers データマーカー付きのレーダーチャートを表します
RadarFilled 塗りつぶしのレーダーチャートを表します
Surface3D 3Dサーフェスチャートを表します
SurfaceWireframe3D ワイヤーフレーム3Dサーフェスチャートを表します
SurfaceContour 等高線チャートを表します
SurfaceContourWireframe ワイヤーフレーム等高線チャートを表します
Bubble バブルチャートを表します
Bubble3D 3Dバブルチャートを表します
Cylinder シリンダーチャートを表します
CylinderStacked 積み上げシリンダーチャートを表します
Cylinder100PercentStacked 100% 積み上げシリンダーチャートを表します
CylindericalBar 円柱形バーチャートを表します
CylindericalBarStacked 積み上げ円柱形バーチャートを表します
CylindericalBar100PercentStacked 100% 積み上げ円柱形バーチャートを表します
CylindericalColumn3D 3D円柱チャートを表します
Cone 円錐チャートを表します
ConeStacked 積み重ね円錐チャートを表します
Cone100PercentStacked 100% 積み重ね円錐チャートを表します
ConicalBar 円錐バーチャートを表します
ConicalBarStacked 積み重ね円錐バーチャートを表します
ConicalBar100PercentStacked 100% 積み重ね円錐バーチャートを表します
ConicalColumn3D 3D円錐柱チャートを表します
Pyramid ピラミッドチャートを表します
PyramidStacked 積み重ねピラミッドチャートを表します
Pyramid100PercentStacked 100% 積み重ねピラミッドチャートを表します
PyramidBar ピラミッドバーチャートを表します
PyramidBarStacked 積み重ねピラミッドバーチャートを表します
PyramidBar100PercentStacked 100% 積み重ねピラミッドバーチャートを表します
PyramidColumn3D 3Dピラミッド柱チャートを表します

ピラミッドチャート

例のコードを実行すると、ワークシートにピラミッドチャートが追加されます。

from aspose.cells import Workbook
from aspose.cells.charts import ChartType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Instantiating a Workbook object
workbook = Workbook()
# Adding a new worksheet to the Excel object
sheetIndex = workbook.worksheets.add()
# Obtaining the reference of the newly added worksheet by passing its sheet index
worksheet = workbook.worksheets[sheetIndex]
# Adding sample values to cells
worksheet.cells.get("A1").put_value(50)
worksheet.cells.get("A2").put_value(100)
worksheet.cells.get("A3").put_value(150)
worksheet.cells.get("B1").put_value(4)
worksheet.cells.get("B2").put_value(20)
worksheet.cells.get("B3").put_value(50)
# Adding a chart to the worksheet
chartIndex = worksheet.charts.add(ChartType.PYRAMID, 5, 0, 15, 5)
# Accessing the instance of the newly added chart
chart = worksheet.charts[chartIndex]
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.n_series.add("A1:B3", True)
# Saving the Excel file
workbook.save(dataDir + "output.xls")

折れ線グラフ

上記の例では、ChartTypeLineに変更するだけで、折れ線グラフが作成されます。完全なソースは以下に提供されています。コードを実行すると、ワークシートに折れ線グラフが追加されます。

from aspose.cells import Workbook
from aspose.cells.charts import ChartType
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Instantiating a Workbook object
workbook = Workbook()
# Adding a new worksheet to the Excel object
sheetIndex = workbook.worksheets.add()
# Obtaining the reference of the newly added worksheet by passing its sheet index
worksheet = workbook.worksheets[sheetIndex]
# Adding sample values to cells
worksheet.cells.get("A1").put_value(50)
worksheet.cells.get("A2").put_value(100)
worksheet.cells.get("A3").put_value(150)
worksheet.cells.get("B1").put_value(4)
worksheet.cells.get("B2").put_value(20)
worksheet.cells.get("B3").put_value(50)
# Adding a chart to the worksheet
chartIndex = worksheet.charts.add(ChartType.LINE, 5, 0, 15, 5)
# Accessing the instance of the newly added chart
chart = worksheet.charts[chartIndex]
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.n_series.add("A1:B3", True)
# Saving the Excel file
workbook.save(dataDir + "output.xls")

バブルチャート

バブルチャートを作成するには、ChartTypeChartType.BUBBLEに設定し、BubbleSizes、Values、XValuesなどの追加のプロパティを適切に設定する必要があります。次のコードを実行すると、ワークシートにバブルチャートが追加されます。

データマーカー付きラインチャート

データマーカー付きラインチャートを作成するには、ChartTypeChartType.LineWithDataMarkersに設定し、バックグラウンドエリア、シリーズマーカー、Values、XValuesなどの追加のプロパティを適切に設定する必要があります。次のコードを実行すると、ワークシートにデータマーカー付きラインチャートが追加されます。

from aspose.cells import SaveFormat, Workbook
from aspose.cells.charts import ChartType, FormattingType
from aspose.pydrawing import Color
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Instantiate a workbook
workbook = Workbook()
# Access first worksheet
worksheet = workbook.worksheets[0]
# Set columns title
worksheet.cells.get(0, 0).value = "X"
worksheet.cells.get(0, 1).value = "Y"
# Create random data and save in the cells
for i in range(1, 21):
worksheet.cells.get(i, 0).value = i
worksheet.cells.get(i, 1).value = 0.8
for i in range(21, 41):
worksheet.cells.get(i, 0).value = i - 20
worksheet.cells.get(i, 1).value = 0.9
# Add a chart to the worksheet
idx = worksheet.charts.add(ChartType.LINE_WITH_DATA_MARKERS, 1, 3, 20, 20)
# Access the newly created chart
chart = worksheet.charts[idx]
# Set chart style
chart.style = 3
# Set autoscaling value to true
chart.auto_scaling = True
# Set foreground color white
chart.plot_area.area.foreground_color = Color.white
# Set Properties of chart title
chart.title.text = "Sample Chart"
# Set chart type
chart.type = ChartType.LINE_WITH_DATA_MARKERS
# Set Properties of categoryaxis title
chart.category_axis.title.text = "Units"
# Set Properties of nseries
s2_idx = chart.n_series.add("A2: A2", True)
s3_idx = chart.n_series.add("A22: A22", True)
# Set IsColorVaried to true for varied points color
chart.n_series.is_color_varied = True
# Set properties of background area and series markers
chart.n_series[s2_idx].area.formatting = FormattingType.CUSTOM
chart.n_series[s2_idx].marker.area.foreground_color = Color.yellow
chart.n_series[s2_idx].marker.border.is_visible = False
# Set X and Y values of series chart
chart.n_series[s2_idx].x_values = "A2: A21"
chart.n_series[s2_idx].values = "B2: B21"
# Set properties of background area and series markers
chart.n_series[s3_idx].area.formatting = FormattingType.CUSTOM
chart.n_series[s3_idx].marker.area.foreground_color = Color.green
chart.n_series[s3_idx].marker.border.is_visible = False
# Set X and Y values of series chart
chart.n_series[s3_idx].x_values = "A22: A41"
chart.n_series[s3_idx].values = "B22: B41"
# Save the workbook
workbook.save(outputDir + r"LineWithDataMarkerChart.xlsx", SaveFormat.XLSX)

高度なトピック