Jeśli spróbujesz przykład na żywo kodu w dokumentacji pod adresem:Jak uzyskać wykres słupkowy ExtJS 4.1.X za pomocą jednego paska, aby prawidłowo wyświetlić etykietę paska?
http://docs.sencha.com/ext-js/4-1/#!/api/Ext.chart.series.Bar
Więcej niż jedna etykieta wygląda pięknie:
data: [
{ 'name': 'metric one', 'data':5 },
{ 'name': 'metric two', 'data':27 }
]
jednak jak najszybciej zmniejszyć zbiór danych do jednej etykiety, wynik wygląda okropnie (zwróć uwagę, że etykieta paska znajduje się na połowie poza obszarem wykresu, zamiast pionowego wyrównania do paska to jest etykieta):
Jest to błąd w ExtJS? Jak to obejść? Dokładny kod ExtJS, który generuje to wyjście:
var store = Ext.create('Ext.data.JsonStore', {
fields: ['name', 'data'],
data: [
{ 'name': 'metric one', 'data':5 }
]
});
Ext.create('Ext.chart.Chart', {
renderTo: Ext.getBody(),
width: 500,
height: 300,
animate: true,
store: store,
axes: [{
type: 'Numeric',
position: 'bottom',
fields: ['data'],
label: {
renderer: Ext.util.Format.numberRenderer('0,0')
},
title: 'Sample Values',
grid: true,
minimum: 0
}, {
type: 'Category',
position: 'left',
fields: ['name'],
title: 'Sample Metrics'
}],
series: [{
type: 'bar',
axis: 'bottom',
highlight: true,
tips: {
trackMouse: true,
width: 140,
height: 28,
renderer: function(storeItem, item) {
this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data') + ' views');
}
},
label: {
display: 'insideEnd',
field: 'data',
renderer: Ext.util.Format.numberRenderer('0'),
orientation: 'horizontal',
color: '#333',
'text-anchor': 'middle'
},
xField: 'name',
yField: 'data'
}]
});
Przykład przenosi pasek, a nie etykietę. Etykieta wciąż jest w niebie. Dało mi to jednak nadzieję. –
Przy bliższej inspekcji widzę, że atrybut y jest ustawiany na NaN na znaczniku tekstowym, który otacza etykietę ... czy istnieje sposób ręcznego przesłonięcia obliczeń, które to powodują? –