JQPLOT — Как использовать точки останова

#jqplot #breakpoints

#jqplot #точки останова

Вопрос:

Я пытаюсь реализовать горизонтальную гистограмму, используя библиотеку jqplot. В моем случае некоторые столбцы графика могут показывать чрезвычайный всплеск, поэтому, например, если 3 столбца моего графика имеют значение данных 150 (максимум), столбик с шипами может иметь значение данных 1000.

Чтобы удовлетворить это требование, я просмотрел документацию jqplot и обнаружил, что у них есть нечто, называемое «точкой останова», для разрыва осей в каком-то определенном месте. http://www.jqplot.com/docs/files/jqplot-linearAxisRenderer-js.html #$.jqplot.LinearAxisRenderer.Точки останова

Теперь предположим, что мои данные для серии выглядят следующим образом : [100, 150, 50, 250, 1200, 100]

Как в приведенном выше случае я могу убедиться, что jqplot вставляет точку останова после 250 и продолжает отмечать оси на 1200?

[Отредактировано] Итак, после использования приведенного ниже кода я могу заставить точки останова работать: chart.axes.xaxis.breakPoints=[10,100]; chart.replot(); (я также просмотрел исходный код jqplot и выяснил, что для работы точек останова нам нужно вручную установить тики,что я и сделал)

Но моя первоначальная проблема все еще на свободе! Предположим, что мой ряд выглядит как [100, 200, 300, 20000] В этом случае, даже если я использую точки останова, мои 3 бара, которые имеют значительно меньший вес, кажутся очень маленькими по сравнению с 4-м баром (вес 20000), что делает график нечитаемым. Может кто-нибудь, пожалуйста, предложить выход из этого?

Комментарии:

1. пожалуйста, отредактируйте, чтобы включить код, который вы пробовали до сих пор

Ответ №1:

«Как реализовать точки останова»: повторный анализ данных, как упоминалось выше, не является правильным способом использования точек останова:

chart.axes.xaxis.breakPoints=[10,100]; chart.replot();

Взглянув на этот фрагмент кода, я решил проблему с точкой останова: имея все значения данных моей гистограммы <200, за исключением одного значения столбца> 850, я хотел бы установить точку останова между 250 и 850.

И вот как это можно сделать:

       axes: {
            xaxis: {
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks: ticks
            },
    yaxis: {
        ticks: [0,50,100,150,200,250,275,825,850,900,950],
        tickOptions: {
        formatString: '%.0d'
        },
        renderer: $.jqplot.LinearAxisRenderer,
        rendererOptions: {
            breakPoints: [275,825],
            breakTickLabel: "amp;asymp;",
            forceTickAt0: true
                     }
        }
  

Важно:

  • Используйте LinearAxisRenderer .
  • добавьте ваши тики вручную в массив.
  • установите точку останова с помощью параметров визуализации.
  • Массив с отметками ДОЛЖЕН СОДЕРЖАТЬ значения, которые вы хотите установить в качестве точек останова в rendererOptions.

С уважением, Маттиас

PS: У меня также есть изображение графика, но вы не разрешаете мне публиковать изображения, пока я не получу 10 репутации.