Gnuplot неправильно читает YYYY-mm-dd и получает «больше% конверсий, чем аргументов данных» (Xcode C ++)

0

Я пытаюсь построить данные из файла.dat, который я создаю. Моя основная проблема заключается в том, что gnuplot, похоже, не понимает формат даты (он извлекается онлайн с помощью cURL - вместе с остальной частью данных), другая ошибка, которую я получаю, - это Xcode, в которой упоминается, что есть больше% конверсий, чем аргументов а также недействительный спецификатор преобразования "Y". Ниже приведена строка кода, в которой находится проблема.

fprintf(gnuplotPipe,"set xdata time; set timefmt \"%Y-%m-%d\"; set format x \"%Y-%m-%d\"; plot \"file.dat\" using 1:3 with linespoints \n", data);

В конечном счете, я хотел бы рассчитать цену (третий столбец) по сравнению с датой (первая колонка), однако я получаю график только с годовой ценой, так что это вертикальная линия к году, но точки указывают правильные цены. На оси X он отображает Ym-0 на каждом интервале. Я также забыл упомянуть, что я получаю сообщение об ошибке с диапазоном x, говорящим, что он пуст (строка 0).

Заранее спасибо!

  • 0
    Мне кажется, вам нужно сбежать от этих% символов. (Возможно, лучше поместить строку Gnuplot в отдельную строку, а не в строку формата printf. Тогда символы% не вызовут проблем.)
  • 0
    Я избежал их следующим образом: set timefmt \"\%Y-\%m-\%d\"; однако я все еще получаю тот же результат. У меня такое ощущение, что я не правильно читаю файл?
Показать ещё 3 комментария
Теги:
xcode
gnuplot

1 ответ

2
Лучший ответ

Вам нужно убрать% символов, иначе не помещать строку Gnuplot в строку формата printf. Чтобы избежать% символов в строке формата printf, вы удваиваете их - %% - вместо использования обратной косой черты.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню