2014-11-07 9 views
1

У меня есть приведенный ниже код для рисования гистограммы JQPlot. Теперь я хочу, чтобы все бары были на одинаковой высоте и отображали цвета в процентах. Не похоже, чтобы найти пример. Пожалуйста помоги!!100% штабелированная гистограмма JQPlot

Текущий график

enter image description here

Ожидаемый результат

enter image description here

var s3 = [11, 28, 22, 47, 11, 11]; 
var s1 = [0, 6, 3, 0, 0, 0]; 
var s2 = [1, 0, 3, 0, 0, 0]; 
var dataArray = [s3, s1, s2]; 
var ticks = ['John', 'Tumm', 'Wen', 'Ken', 'Dolly']; 

var options = { 
    title: 'Title ', 
    stackSeries: true, 
    seriesColors: ["#eb4b3d", "#ffc800", "#009149"], 
    seriesDefaults: { 
     renderer: $.jqplot.BarRenderer, 
     pointLabels: { 
      show: true 
     }, 
     rendererOptions: { 
      barWidth: 25, 
      varyBarColor: true, 
     }, 
    }, 
    axes: { 
     xaxis: { 
      // renderer: $.jqplot.CategoryAxisRenderer, 
      // 
      renderer: $.jqplot.CategoryAxisRenderer, 
      ticks: ticks, 
     }, 
     yaxis: { 
      //autoscale: true, 
      //label: 'Application Count', 
      min: 0, 
      tickInterval: 5, 
      max: 50 
     } 
    }, 
    axesDefaults: { 
     tickRenderer: $.jqplot.CanvasAxisTickRenderer, 
     tickOptions: { 
      angle: -30, 
      fontSize: '10pt' 
     } 
    } 
}; 

var plot = $.jqplot('chartDivId', dataArray, options); 
+0

Может кто-нибудь, пожалуйста, ответьте на мой вопрос? –

+0

Возможно ли иметь на 100% гистограмму с использованием JQPlot? Ждем Вашего ответа. Благодаря!! –

+0

Сообщите нам данные образца, которые вы использовали в своем проекте: – Mihir

ответ

-2

проблема решается в настоящее время !! Его все о поставке данных, хотя массивы (S1, S2, S3) в процентах!

+1

Было бы хорошо, если вы прямо укажете, какие данные вы предоставили на диаграмме. Я сталкиваюсь с одной и той же проблемой, и предоставление массива строк (с знаком процента) не работает, так что вы имеете в виду «в процентах»? – ricky116

+0

Было бы неплохо, если бы вы напишете комментарий по разрешающемуся ответу и отметьте правильный ответ, а затем решите! – Gombat

1

Недавно я решил этот вопрос и подумал, что расскажу о том, как я решил проблему. Мне удалось создать «нормализованную» стеклянную гистограмму; диаграмма, где все бары имеют одинаковый размер с данными разных масштабов. Разумеется, Excel это легко. Оказывается, также jqPlot; примеров нет.

Решение состоит в том, чтобы структурировать данные диаграммы, чтобы каждый из внутренних элементов содержал три элемента (то есть [1, 2, 3]), а не обычный 2 ([1, 2]). Первый элемент - это номер серии, второй элемент - это график, который, как предполагает jqPlot, также является меткой для точки графика. Однако это поведение преодолевается третьим элементом, ярлыком, который может отличаться от данных. Так что в моем случае структура: ([series], [bar percent], [data]).

Например, если мой первый стержень имеет два стека, первый стек равен 97%, а второй - 3%, но отображаемые данные могут быть 12 и 456 (12 + 456 = 468 >>> 12/468 = 2.56% и 456/468 = 97.43% [вы также можете просто вычесть первый из 100%])

Документация jqPlot на это намекает, но это не очень ясно, и я провел целый день, пытаясь понять это себя. Прочтите внимательно пример № 2: http://www.jqplot.com/tests/point-labels.php. Это то, что взломало его для меня. :)

Cheers, Rich

+0

Хороший подробный ответ, но минимальный пример кода был бы действительно полезен. Или, может быть, вы могли бы скопировать основную часть из текста за вашей ссылкой, чтобы ответ оставался в живых, даже если связанный сайт сместился или переместился в другое место. – Gombat

+0

Нет времени. Я сделал достаточно. Счастливая рыбалка. – AWizardInDallas