PChart ile Etiketleme Y ekseni

1 Cevap php

Ben oldukça iyi çalışıyor, PChart for PHP grafik çizmek için kullanıyorum.

Ben yoğunluklarda (2 = güçlü, 1 = orta, 0 = düşük) ile bir grafik çizdik ve yerine bir Y axis the description of the data (düşük güçlü, orta,) göstermek mümkün olup olmadığını bilmek istiyorum bildirin sayılar (2,1,0).

(Ben teorik olarak sadece göre X etiketleri ayarlayabilirsiniz, başarı olmadan bir şey aramak var http://pchart.sourceforge.net/documentation.php?topic=faq.xlabels.)

Teşekkürler!

1 Cevap

Y formatları atama bir yolu yoktur. Şu anda 5 vardır: Sayı, Saat, Tarih, Metrik ve Döviz. Sen işlevini kullanarak pData sınıfta bu set SetYAxisFormat($Format)

Ne istediğinizi başarmak için yapmanız gerekir pChart.class dosyayı değiştirmek ve kendi biçimlendirici fonksiyon eklemektir.

pChart.class dosyasında çeşitli yerlerde, aşağıdaki kod bölümü var:

   if ( $DataDescription["Format"]["Y"] == "number" )

    $Value = $Value.$DataDescription["Unit"]["Y"];

   if ( $DataDescription["Format"]["Y"] == "time" )

    $Value = $this->ToTime($Value);        

   if ( $DataDescription["Format"]["Y"] == "date" )

    $Value = $this->ToDate($Value);        

   if ( $DataDescription["Format"]["Y"] == "metric" )

    $Value = $this->ToMetric($Value);        

   if ( $DataDescription["Format"]["Y"] == "currency" )

    $Value = $this->ToCurrency($Value);   

Kendi yoğunluğu işlev eklemek için, bu biraz sonra eklemek gerekir:

   if ( $DataDescription["Format"]["Y"] == "intensity" )
    $Value = $this->ToIntensity($Value);

Sonra sınıf içinde kendi ToIntensity($Value) fonksiyonu eklemek gerekir:

function ToIntensity($Value)
    {

     switch($Value) {
       case 0:
       return "low";
       break;
       case 1:
       return "medium";
       break;
       case 2:
       return "strong";
       break;
     }
    }