Убрать разрывы выходных в 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
Результаты в: