Убрать разрывы выходных в gnuplot для графика свечей

Я пытаюсь построить некоторые финансовые графики подсвечников с помощью gnuplot. Проблема в том, что в выходные дни данных нет, и я не хочу, чтобы эти пробелы были показаны. Изображение и код включены ниже.

set datafile separator ","
set xdata time
set timefmt"%Y-%m-%d"
set xrange ["2015-10-22":"2016-02-06"]
set yrange [*:*]
set format x
plot 'head.dat' using 1:2:4:3:5 notitle with candlesticks

введите описание изображения здесь

1 ответ

Решение

Поскольку у вас есть одна запись на рабочий день, вместо использования даты в качестве абсциссы вы можете использовать номер строки:

plot 'head.dat' using 0:2:4:3:5 notitle with candlesticks

Тогда, я думаю, вы спросите, как восстановить даты на x-ось. Ты можешь использовать xticslabel:

set xtics rotate 90
plot "head.dat" u 0:2:4:3:5:xticlabels(1) notitle with candlesticks

Если вы хотите, чтобы каждый показанный ярлык не использовался, используйте этот everyNth функция размещена dir, например, каждый пятый ярлык:

set datafile separator ","
everyNth(countColumn, labelColumnNum, N) = \
  ( (int(column(countColumn)) % N == 0) ? stringcolumn(labelColumnNum) : "" ) 
set xtics rotate 90
plot "head.dat" using 0:2:4:3:5:xticlabels(everyNth(0, 1, 5)) notitle with candlesticks

Результаты в:

График подсвечника без разрывов выходных

Другие вопросы по тегам