Построение алгебраических кривых в Julia
Я хочу визуализировать некоторые алгебраические кривые в
У меня есть многочлены:
f1=(x^4+y^4-1)(x^ 2 +y^2-2)+x^5y
f2 = х ^ 2 +2xy^2-2y^2-1 / 2
и я хотел бы построить график V (f1) и V (f2), чтобы увидеть их общие пересечения. Я пробовал использовать контурный график, но, похоже, он позволяет мне строить только одну кривую за раз. Есть ли способ построить обе кривые в
Gadfly.jl
или делать это в другом
Julia
упаковка?
1 ответ
Овод использует удобный составной элемент:
Layers
https://gadflyjl.org/stable/man/compositing/#Layers
Они находятся в свободном доступе через сюжет как
plot_name.layers
и может быть добавлен вручную (например, с помощью
append!(p.layers, new_layer)
). Лично мне больше всего нравится создавать оба слоя перед вызовом и внедрять любые необходимые метки фигур в
plot()
функция:
using Gadfly
pol_one = layer(z=(x,y) -> (x^4 + y^4 - 1) * (x^2+y^2-2) + x^5 * y,
xmin=[-2], xmax=[2], ymin=[-2], ymax=[2],
Geom.contour(levels=[0;]))
pol_two = layer(z=(x,y) -> x^2 + 2x*y^2 - 2y^2 - 1/2,
xmin=[-2], xmax=[2], ymin=[-2], ymax=[2],
Geom.contour(levels=[0;]))
plot(p_layer, q_layer, Guide.xlabel("x"), Guide.ylabel("y"))