Овод строит графики в порядке возрастания оси х, а не в порядке сохраненных массивов

Я строю некоторые параметры из массива, используя Gadfly в Julia 0.6.

Вот вывод, когда я использую Geom.point. Я ожидаю, что точки будут связаны, как на этом рисунке, при использовании Geom.line, потому что точки в массиве хранятся в этом порядке.

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

Но когда я использую Geom.line, я получаю это:

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

Похоже, что Gadfly соединяет точки в порядке возрастания значений осей x независимо от порядка, сохраненного в массиве. Я не получаю такого поведения в Matlab. Мне интересно, что это за средство.

Вот фрагмент кода только для одного параметра (зеленая линия). Я уменьшил количество пунктов для удобства:

x_axis = [22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 22.5, 24.0, 30.0, 30.0, 30.0, 3.0]
y_axis = [-48, -44, -40, -36, -32, -28, -24, -20, -16,-12, -8, -4, 0]


fricPlot = plot(x = x_axis, y = y_axis, 
Theme(default_color=colorant"green"), Geom.point,
            Guide.xlabel("Scaled (a-b)/ Stress value"),
            Guide.ylabel("Depth (m)"),
            Guide.title("Rate and state friction/Stress"),
            Coord.Cartesian(ymin=-24))

Как мне получить линейный график, который точно выглядит как точечный график?

0 ответов

Смотрите Geom.path в документации Gadfly. Пример:

t = 0:0.2:8pi
plot(x=t.*cos.(t), y=t.*sin.(t), Geom.path)
Другие вопросы по тегам