2015-05-21 5 views
0

Я использую гистограмму в chartjs. В том, что ширина столбчатой ​​диаграммы несовместима. Значит, когда количество баров (ярлыков) равно 1, означает, что одиночная полоса отображается как большая ширина. Она почти занимает всю ширину холста.Chart.js bar chart barWidth не соответствует

Когда счетчик бара (этикетки) составляет 3 или больше, если я пытаюсь использовать «barValueSpacing» для гистограммы она работает fine.But если я сворачивание браузера ЕАП бара при получении перекрытого означает его не реагирует.

В других картах как «JQPLOT» ширина панели автоматически получать регулировать его не заботится о подсчете бар, потому что он имеет «BarWidth» option.So Я хочу, чтобы установить ширину по умолчанию для бара chart.js, и я использую «ChartNew.js» library.Chould пожалуйста, кто-нибудь поможет мне решить эту проблему?

ответ

0

Что происходит, ваш фиксированный barValueSpacing горизонтально переворачивается над вашими решетками (правый край панели становится левым краем и наоборот), когда ширина диаграммы становится достаточно малой. Вам необходимо динамически установить barValueSpacing на основе ширины диаграммы, расширив тип гистограммы.

Вот как вы это делаете

var a = [1, 2, 3]; 
var data = { 
    labels: ["A", "B", "C"], 
    datasets: [{ 
     label: "My dataset", 
     fillColor: "rgba(151,187,205,0.2)", 
     strokeColor: "rgba(151,187,205,1)", 
     pointColor: "rgba(151,187,205,1)", 
     pointStrokeColor: "#fff", 
     pointHighlightFill: "#fff", 
     pointHighlightStroke: "rgba(151,187,205,1)", 
     data: a 
    }] 
}; 

Chart.types.Bar.extend({ 
    name: "BarAlt", 
    draw: function(){ 
     this.options.barValueSpacing = this.chart.width/5; 
     Chart.types.Bar.prototype.draw.apply(this, arguments); 
    } 
}); 

И скрипка - http://jsfiddle.net/9avv76vx/

Верхний один является новым размером бар и нижний один нормальный бар - я разделила ширину диаграммы с константа (5), но в реальной жизни вам нужно будет учитывать количество точек данных и делить их на подходящую часть.

+0

Благодарим вас за ценный ответ. Он работает нормально. Мне нужно еще одно решение. Я использую библиотеку ChartNew.js. Библиотека ChatNew.js предоставляет параметр «* inGraphDataShow *» для показа данных в верхней части гистограммы, а также круговой диаграммы. Не могли бы вы помочь мне достичь опции «* inGraphDataShow *» с помощью «* Chart.min.js *» – Suresh

+0

У Chartjs нет такой опции, насколько мне известно. Вероятно, вы можете просто визуализировать таблицу (со стороны сервера или на стороне клиента) поверх диаграммы отдельно. – potatopeelings

+0

Еще раз спасибо. Я могу это сделать. Как перерисовать диаграмму с помощью ChartNew.js? – Suresh

 Смежные вопросы

  • Нет связанных вопросов^_^