Domanda

Questo compito non sembra troppo difficile, ma mi è stato di blocco per le ultime ore di coppia. Sto facendo un grafico a barre in pila, e voglio le etichette da orizzontale e verticale centrati all'interno di ogni segmento di barra. Le etichette sono impostati per essere "dentro". Tale, si può facilmente centrare l'etichetta orizzontalmente impostando label-align: middle, ma non sembra essere tutto ciò che può gestire l'aspetto verticale.

approccio successivo è stato quello di creare un componente personalizzato del grafico a barre, ma che vanno estremamente grovigli di quando ho dovuto vedermela con le funzioni di rendering. Ho pensato che sarebbe stato solo modificando questa linea: v.labelY=v.y + barSeries.seriesRenderData.renderedYOffset - barSeries.seriesRenderData.renderedHalfWidth; ma non ha funzionato.

In ogni modo, se qualcuno ha qualche idea su come fare questo, sarebbe molto apprezzato.
In allegato è quello che la barra del grafico si presenta come ora. E tanto per chiarire, vorrei queste etichette (manuali nella foto) per essere centrato verticalmente.

Demo

È stato utile?

Soluzione

    <mx:BarSeries 
                        xField="s1"
                        yField="name"
                        displayName="Employees in shceme"
                        labelAlign="center"
                        labelPosition="inside"
                        styleName="labelStyle"
                        />

    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";

        .labelStyle {
            verticalAlign:middle;
        }
     </fx:Style>

Enjoy!!!

Altri suggerimenti

Impostare la proprietà verticalCenter dei columnSeries a 0.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top