Как объединить симпатичные символьные графики с точечными / линейными графиками на основе данных? - PullRequest
0 голосов
/ 14 мая 2018

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

import matplotlib.pyplot as plt
from sympy import symbols, plot_implicit
from sympy.plotting.plot import Plot, ContourSeries
from sympy.utilities.lambdify import lambdify

(x1, x2) = symbols('x1 x2')

func = x1**4 + x2**4

p1 = Plot(ContourSeries(func,(x1,-1,5),(x2,-1,5)))
p1.extend(plot_implicit(x1 < 0,(x1,-1,5),(x2,-1,5),line_color='red',show=False))
p1.extend(plot_implicit(x2 < 2,(x1,-1,5),(x2,-1,5),line_color='red',show=False))

p1.show()

создает контурный график функции стоимости и показывает некоторые ограничения в виде красной области, но как мне добавить одну точку к этому графику? Следующее:

x1 = [4,4]
x2 = [4,4]
plt.scatter(x1,x2)

создает новый отдельный участок.

1 Ответ

0 голосов
/ 15 мая 2018

Кажется, что это на самом деле не поддерживается sympy, но работает следующее:

p1._backend.ax.scatter(x1, x2)
p1._backend.save('im.png')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...