2015-09-07 2 views
-1

У меня есть CSV-файл с данными в этом формате:Gnuplot CSV - данные в другом формате

Category  X-Axis Y-Axis 
Cat1   100  10.1 
Cat1   101  10.12 
Cat1   102  8.12 

Cat2   100  11.1 
Cat2   101  11.31 
Cat2   102  12.11 

Cat3   100  13.1 

Я хотел бы, чтобы сформировать линейный график, используя GNUPLOT, но GNUPLOT кажется рисовать график правильно только тогда, когда данные кросс -tabbed так:

X-Axis  Cat1  Cat2  Cat3 
100   10.1  11.1  13.1 
101   10.12  11.31  13.2 
102   8.12  12.11  13.3 

количество категорий не являются фиксированными, кросс-табуляции приведет к слишком много категорий будет обнулить/нулевые значения.

Любое предложение о том, чтобы GNUPlot рисовал линейные графики без кросс-табуляции данных?

+0

Вы надеваете» t скажите, как должен выглядеть ваш «правильный» вывод. Дайте команду gnuplot, которую вы использовали! И что означает «кросс-вкладка»? – Karl

ответ

1

Обязательно отделяйте каждую категорию от двух или более пустых строк.

Затем участок с

plot "gnuplot.dat" using 2:3:(column(-2)) linecolor variable with lines 

Это использует столбцов 2 и 3 для х, у, соответственно, и псевдо-колонки (column(-2)). Это на самом деле ссылка на отдельный внутренний индекс gnuplot дает каждому набору данных.

Возможно, вы захотите проверить подробные страницы справки gnuplot: внутри gnuplot введите help plot index.

+0

@Akshay GS Помог ли этот ответ решить вашу проблему? Если это так, было бы неплохо, если вы проверите его принятие и/или внеочередное голосование. Добро пожаловать в stackoverflow. – MASL

0

Если то, что вы хотите, это то строка с ключом/легендой для каждого из категории:

plot for [i=1:no_categories] datafile index i using 2:3 title "Cat".i 

(убедитесь, что у вас есть две пустые строки между наборами данных, или использовать every)

Смежные вопросы