C++ を使用したプレゼンテーションのチャートデータマーカーの管理

チャート マーカーの設定

Aspose.Slides for C++ は、チャート系列マーカーを自動的に設定するシンプルな API を提供します。以下の機能では、すべてのチャート系列が自動的に異なるデフォルトマーカーシンボルを取得します。

以下のコード例は、チャート系列マーカーを自動的に設定する方法を示しています。

チャート マーカー オプションの設定

マーカーは特定の系列内のチャート データポイントに設定できます。チャート マーカー オプションを設定するには、以下の手順に従ってください。

  • Presentation クラスのインスタンスを作成します。
  • デフォルトのチャートを作成します。
  • 画像を設定します。
  • 最初のチャート系列を取得します。
  • 新しいデータポイントを追加します。
  • プレゼンテーションをディスクに書き出します。

以下の例では、データポイントレベルでチャート マーカー オプションを設定しています。

シリーズ データ ポイント レベルでのチャート マーカーの設定

現在、マーカーは特定の系列内のチャート データポイントに設定できます。チャート マーカー オプションを設定するには、以下の手順に従ってください。

  • Presentation クラスのインスタンスを作成します。
  • デフォルトのチャートを作成します。
  • 画像を設定します。
  • 最初のチャート系列を取得します。
  • 新しいデータポイントを追加します。
  • プレゼンテーションをディスクに書き出します。

以下の例では、データポイントレベルでチャート マーカー オプションを設定しています。

const String outPath = u"../out/SetMarkerOptionsonSeries_out.pptx";
const String ImagePath = u"../templates/Tulips.jpg";
const String ImagePath2 = u"../templates/aspose - logo.jpg";

//Instantiate Presentation class that represents PPTX file
//Access first slide
// Add chart with default data
// Setting the index of chart data sheet
// Getting the chart data worksheet
// Delete default generated series and categories
// Now, Adding a new series
// Get the picture
// Add image to presentation's images collection
// Add new point (1:3) there.
SharedPtr<IChartDataPoint> point = series->get_DataPoints()->AddDataPointForLineSeries(fact->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box<double>(4.5)));
point->get_Marker()->get_Format()->get_Fill()->set_FillType(FillType::Picture);
point->get_Marker()->get_Format()->get_Fill()->get_PictureFillFormat()->get_Picture()->set_Image(imgx1);

point = series->get_DataPoints()->AddDataPointForLineSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(2.5)));
point->get_Marker()->get_Format()->get_Fill()->set_FillType(FillType::Picture);
point->get_Marker()->get_Format()->get_Fill()->get_PictureFillFormat()->get_Picture()->set_Image(imgx2);

point = series->get_DataPoints()->AddDataPointForLineSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(3.5)));
point->get_Marker()->get_Format()->get_Fill()->set_FillType(FillType::Picture);
point->get_Marker()->get_Format()->get_Fill()->get_PictureFillFormat()->get_Picture()->set_Image(imgx1);

point = series->get_DataPoints()->AddDataPointForLineSeries(fact->GetCell(defaultWorksheetIndex, 4, 1, ObjectExt::Box<double>(4.5)));
point->get_Marker()->get_Format()->get_Fill()->set_FillType(FillType::Picture);
point->get_Marker()->get_Format()->get_Fill()->get_PictureFillFormat()->get_Picture()->set_Image(imgx2);

// Changing the chart series marker
series->get_Marker()->set_Size(15);

// Write the presentation file to disk
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
pres->Dispose();

データポイントへの色の適用

Aspose.Slides for C++ を使用して、チャートのデータポイントに色を適用できます。データポイントレベルのプロパティにアクセスするために、IChartDataPointLevelsManagerIChartDataPointLevel クラスが追加されました。本稿では、チャートのデータポイントにアクセスし、色を適用する方法を示します。

FAQ

標準で利用できるマーカー形状は何ですか?

標準の形状が利用可能です(円、正方形、ダイヤモンド、三角形など)。この一覧は MarkerStyleType 列挙体で定義されています。非標準の形状が必要な場合は、画像塗りつぶしのマーカーを使用してカスタム ビジュアルをエミュレートしてください。

チャートを画像または SVG にエクスポートする際、マーカーは保持されますか?

はい。チャートを ラスタ形式 にレンダリングしたり、シェイプを SVG として保存 したりすると、マーカーはサイズ、塗りつぶし、輪郭などの外観と設定を保持したままです。