var highchartsOptions = Highcharts.setOptions(Highcharts.theme); var TaskChart;//Chart-Objekt "> var highchartsOptions = Highcharts.setOptions(Highcharts.theme); var TaskChart;//Chart-Objekt "> var highchartsOptions = Highcharts.setOptions(Highcharts.theme); var TaskChart;//Chart-Objekt " />

Удалите старт "0" ценности от массива серии Highcharts

У меня есть следующий произведенный код JavaScript, чтобы показать диаграмму с HighCharts:

<script type="text/javascript">

var highchartsOptions   = Highcharts.setOptions(Highcharts.theme);
var TaskChart;//Chart-Objekt    
var TaskDuration          = new Array();    
// Save starting points to JavaScript variables for HighCharts
var startingUTC = 1288102643364;
TaskDuration =  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,216,216,206,206];
for(var i = 0; i < TaskDuration.length; i++) {
    if(TaskDuration[i] == 0) {
        TaskDuration[i] = null;
    }
}
</script>
<script type="text/javascript">
$j(document).ready(function() { 
    TaskChart = new Highcharts.Chart({
    credits: {
            enabled: false
    },
    chart: {
      renderTo: "chart01",
      defaultSeriesType: 'area',
      zoomType: 'x',
      spacingBottom: 250
    },
    title: {
      text: "Task Duration"
    },
    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
            week: '%e. %b %Y'   
        },
        offset: 10,
        startOnTick: true,
        maxZoom: 7 * 24 * 3600000//seven days
    },
    yAxis: {
      title: {
        text: "Duration"
      }
    },
    tooltip: {
        formatter: function() {
            return ''+ this.series.name +'
'; } }, plotOptions: { area: { stacking: 'normal', lineColor: '#666666', lineWidth: 1, marker: { lineWidth: 1, lineColor: '#666666' } } }, series: [ { name: 'Duration', pointStart: startingUTC, pointInterval: 24*60*60*1000, data: TaskDuration }] }); }); </script>

Проблема состоит в том теперь, когда я хочу удалить весь "0" ценности с начала массива серии TaskDuration.

Я пытаюсь установить значения во множестве к 'пустому указателю':

for(var i = 0; i < TaskDuration.length; i++) {
    if(TaskDuration[i] == 0) {
        TaskDuration[i] = null;
    }
}

Но Highcharts все еще показывают ценности в диаграмме.

Как предотвратить это поведение?

Я также пытаюсь удалить все ценности из множества до стоимости, которая не является "0". Но с этим подходом "startingUTC" неправильный. Возможно, я должен также повторно вычислить эту стоимость...

С уважением, Сандро

0
nl ja de
Если вы изменяете тип диаграммы на ' line' от ' area' это won' t показывают пустые пункты.
добавлено автор cubbuk, источник

2 ответы

Необходимо удалить элементы, чтобы не установить пустой указатель, использовать это, чтобы удалить нулевой элемент из множества:

var myArray=[];

for(var i = 0; i < TaskDuration.length; i++) {
    if(TaskDuration[i] != 0) {
       myArray.push(TaskDuration[i]);
    }
}

working JSfiddle

0
добавлено
Спасибо, но не работает...
добавлено автор sk2212, источник
Все еще не работает. Посмотрите здесь: jsfiddle.net/JwmuT
добавлено автор sk2212, источник
Хорошо, но легенда даты об оси X неправильная теперь. Как повторно вычислить стоимость UTC?
добавлено автор sk2212, источник
Хм... так или иначе, я приму ответ. Но я нашел другое решение с функцией setextremes от highcharts.
добавлено автор sk2212, источник
попробуйте теперь!!! просто замените ту функцию соединения встык,
добавлено автор Zaheer Ahmed, источник
обновленный jsfiddle наконец
добавлено автор Zaheer Ahmed, источник

Проблема состоит в том, что вы используете pointStart и pointInterval .
PointInterval проигнорирует ваши пустые пункты и добавит пункты к yAxis .
Так, удалите его.

series: [{
    name: 'Duration', 
    data: TaskDuration
}]
0
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском