Le etichette verticalmente Centro - BarChart
-
22-10-2019 - |
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.
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.