Wie Label Definieren Um In Legende Passendes Zu Sehen?

Hallo zusammen,

ich arbeite an Linien-Diagrammen in Yii mit der Extension jqplot. Sieht nicht anders aus als das einfache jqplot, mit der Extension kann’s lediglich schön als Widget in Yii eingebaut werden.

Nachdem ich einige Zeit für mein assoziertes data-Array gebraucht habe, hier die Frage an die Community:

Wer weiß wie man bei einem Diagramm mit mehreren Linien/Series/Graphen die Labels richtig definiert für die Legende?

Meine erfolglosen Beispiele:


'options'=>array( ...

    'seriesDefaults'=>array( ...

        'label'=>'test',

        'label'=>'dummy'

    ),

oder ein Array Versuch:


// types [0] = 'test'

// types [1] = 'dummy'

'options'=>array( ...

    'seriesDefaults'=>array( ...

        'label'=>$types

    ),

oder String in Array:


// types [0] = 'test, dummy'

'options'=>array( ...

    'seriesDefaults'=>array( ...

        'label'=>$types

    ),

oder Versuch Nr.4:


'label'=>array(

    array('label'=>'Hotel'),

    array('label'=>'Event'),

Dieser gibt in der Legende für beide Graphen [object Object], [object Object] aus…

leider wird nichts angenommen… Versuch 1 zeigt nur test bei beiden Graphen, Versuch 2 und 3 zeigen den kompletten String an.

In den jqplot Beispielen funktioniert es analog so:


series: {label:'test', label:'dummy'}

Kommt es wem bekannt vor?

Ok, nach vielen Versuchen habe ich nun die passende Stelle gefunden:


'options'=>array( ...

  'series'=>array(

    array('label'=>'Hotel'),

    array('label'=>'Event'),

  ),

Um das ganze dynamisch zu machen kann hier leider kein Assoziertes Array helfen, da beide Arrays einen Schlüssel label benötigen.

Hat wer einen Rat für das passende foreach-Schnipsel oder ähnliches?


foreach($labelsForDiagrammLines as $valLabel) { 

        array('label'=>$valLabel);

    }

Wenn das Ganze über Strings nachgebaut wird funktioniert es auch nicht.

Ok, heute scheine ich selbst schneller drauf zu kommen. War bei einem anderen Fehler tagelang an der Sache dran, da dacht ich mir heute schreibst einfach den Post. Nun ja.

Hier die Lösung von mir:


    $abc = array();

    foreach($labelsForDiagrammLines as $valLabel) { 

        # neues element hinein pushen

        array_push($abc, array('label'=>$valLabel));

    }

ciao :)