PHP kullanarak Sunumlarda Grafik Veri Tablolarını Özelleştirme

Genel Bakış

Aspose.Slides for PHP via Java, bir grafiğin veri tablosunu görüntülemenizi ve metin biçimlendirmesini, kenarlıklarını ve açıklama işaretlerini özelleştirmenizi sağlar. Bu makale, tabloyu nasıl etkinleştirileceğini, metnini nasıl biçimlendireceğinizi, her kenarlık tipini nasıl kontrol edeceğinizi ve açıklama işaretlerini nasıl gösterip gizleyeceğinizi açıklar. Örnekler, yapılandırılmış grafikleri PPTX dosyalarına kaydeder.

Yazı Tipi Özelliklerini Ayarlama

Bir grafiğin veri tablosunu görüntülemek için true değerini setDataTable metoduna geçirin. Tabloya erişmek ve metin biçimlendirmesini yapılandırmak için getChartDataTable metodunu kullanın.

  1. Sunumu, Presentation sınıfını kullanarak yükleyin.
  2. İlk slayta bir kümelenmiş sütun grafiği ekleyin.
  3. Grafiğin veri tablosunu etkinleştirin.
  4. setFontBold ile kalın metni etkinleştirin ve 20 puanlık metin için 20 değerini setFontHeight metoduna geçirin.
  5. Değiştirilmiş sunumu kaydedin.

Aşağıdaki örnek, çalışma dizininde en az bir slaytı olan test.pptx dosyasını gerektirir. (50, 50) konumunda, genişliği 600 puan ve yüksekliği 400 puan olan varsayılan veri ile bir grafik ekler. Kaydedilen output.pptx dosyası, veri tablosu etkinleştirilmiş grafiği ve belirtilen yazı tipi ayarlarını içerir.

use aspose\slides\ChartType;
use aspose\slides\NullableBool;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation("test.pptx");
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
    $chart->setDataTable(true);

    $portionFormat = $chart->getChartDataTable()->getTextFormat()->getPortionFormat();
    $portionFormat->setFontBold(NullableBool::True);
    $portionFormat->setFontHeight(20);

    $presentation->save("output.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Veri Tablosu Kenarlıklarını Özelleştirme

Tabloyu Chart::setDataTable ile etkinleştirin ve Chart::getChartDataTable ile erişin. Üç ayrı kenarlık tipini bağımsız olarak kontrol edebilirsiniz:

true değerini her metoda geçirerek kenarlıkları gösterin, false değerini geçirerek gizleyin. Aşağıdaki örnek, varsayılan veri ile bir kümelenmiş sütun grafiği oluşturur, yatay kenarlıklar ve dış kenarlığı gösterir, dikey kenarlıkları gizler. Giriş dosyası gerektirmez. Grafiğin konumu ve boyutu puan cinsinden belirtilir.

use aspose\slides\ChartType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
    $chart->setDataTable(true);

    $dataTable = $chart->getChartDataTable();
    $dataTable->setBorderHorizontal(true);
    $dataTable->setBorderVertical(false);
    $dataTable->setBorderOutline(true);

    $presentation->save("data-table-borders.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Aşağıdaki karşılaştırma, dört durumda da aynı grafik verisini ve açıklama işareti ayarını kullanır. Tüm kenarlıklar etkinleştirilmiş olarak başlayıp, her sonraki varyant sadece bir kenarlık ayarını devre dışı bırakır. Sol alt varyant, örnekteki kenarlık ayarlarıyla eşleşir.

Tüm kenarlıklar etkin, yatay kenarlık yok, dikey kenarlık yok ve dış kenarlık yok grafik veri tabloları

Açıklama İşaretlerini Gösterme veya Gizleme

Açıklama işaretleri, veri tablosundaki seri adlarının yanında bulunan küçük renkli işaretlerdir. Okuyucuların her tablo satırını bir grafik serisiyle eşleştirmesine yardımcı olur. Bu işaretleri göstermek için setShowLegendKey metoduna true değerini, gizlemek için false değerini geçirin.

Grafiğin ayrı açıklaması, Chart::setLegend ile kontrol edilir. Bu ayarlar bağımsızdır: ayrı açıklamayı gizlemek veri tablosundaki işaretleri gizlemez, tablo işaretlerini gizlemek ise ayrı açıklamayı gizlemez.

Aşağıdaki örnek, varsayılan veri ile bir grafik oluşturur, veri tablosunu etkinleştirir ve içinde açıklama işaretlerini gösterirken ayrı açıklamayı gizler. Tüm tablo kenarlıkları açıkça etkinleştirilir. Giriş sunumu gerekmez. Sadece tablo işaretlerini gizlemek için setShowLegendKey metoduna false değerini geçirin.

use aspose\slides\ChartType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;

$presentation = new Presentation();
try {
    $slide = $presentation->getSlides()->get_Item(0);

    $chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
    $chart->setDataTable(true);
    $chart->setLegend(false);

    $dataTable = $chart->getChartDataTable();
    $dataTable->setBorderHorizontal(true);
    $dataTable->setBorderVertical(true);
    $dataTable->setBorderOutline(true);
    $dataTable->setShowLegendKey(true);

    $presentation->save("data-table-legend-keys.pptx", SaveFormat::Pptx);
} finally {
    $presentation->dispose();
}

Aşağıdaki karşılaştırma, aynı tabloyu açıklama işaretleri etkin ve devre dışı bırakılmış şekilde gösterir. Tüm kenarlıklar etkin kalır ve ayrı grafik açıklaması her iki durumda da gizlenir.

Sol tarafta açıklama işaretleri gösterilen, sağ tarafta gizlenen grafik veri tabloları

SSS

Bir grafiğin veri tablosunda açıklama işaretlerini gösterebilir miyim?
Evet. Açıklama işaretlerini göstermek için setShowLegendKey metoduna true, gizlemek için false değerini geçirin.

Sunumu PDF, HTML veya görüntülere dışa aktarırken veri tablosu korunur mu?
Evet. Aspose.Slides, grafiği ve görüntülenen veri tablosunu, slaytın bir parçası olarak PDF, HTML veya images dışa aktarırken oluşturur.

Şablondan yüklenen grafikerde veri tabloları ile çalışabilir miyim?
Evet. Mevcut bir sunumdan veya şablondan yüklenen bir grafik için, veri tablosunun görüntülenip görüntülenmediğini kontrol etmek veya değiştirmek amacıyla hasDataTable ve setDataTable metodlarını kullanın.

Veri tablosu etkin olan grafikleri nasıl bulabilirim?
Her slayttaki şekilleri döngüyle gezerek grafikleri tespit edin ve hasDataTable metodunu çağırın. true değeri, veri tablosunun etkin olduğunu gösterir.