如何使用Sympy绘图在特定的x坐标上添加标记

How to add markers at certain x coordinates using Sympy plot(如何使用Sympy绘图在特定的x坐标上添加标记)
本文介绍了如何使用Sympy绘图在特定的x坐标上添加标记的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个符号函数、一个x坐标序列和一个使用";Plot&Quot;绘制的图形。

import numpy as np
import sympy as sp

x = sp.Symbol('x')
xs = np.linspace(-2, 3, 5) #[-2.   -0.75  0.5   1.75  3.  ]
ys = sp.cos(2*x)*(sp.sin(2*x) + 1.5)+sp.cos(x)
graph = sp.plot(ys, xlim=[-2,3])

如何从Xs变量在X坐标处的函数上绘制标记?

我得到的图表:

我希望获得的图表:

推荐答案

sympy仅支持有限的打印功能。此外,也没有散点图功能。一般来说,症状和麻木不能很好地混合在一起。通常,函数是lambdified,然后通过matplotlib绘制。

如果您真的想完全保持在症状内部,您可以滥用implicit surfaces来表示一个点:

import numpy as np
import sympy as sp

x = sp.Symbol('x')
y = sp.Symbol('y')
xs = np.linspace(-2, 3, 5)  # [-2.   -0.75  0.5   1.75  3.  ]
ys = sp.cos(2 * x) * (sp.sin(2 * x) + 1.5) + sp.cos(x)

plot1 = sp.plot(ys, xlim=[-2.2, 3.2], show=False)
rad = 0.2
plot2 = sp.plot_implicit(x ** 2 + y ** 2 < 0.2 ** 2, line_color='red', show=False)
for xi in xs:
    yi = ys.subs(x, xi).evalf()
    plot2 = sp.plot_implicit((x - xi) ** 2 + (y - yi) ** 2 < rad ** 2, line_color='red', show=False)
    plot1.append(plot2[0])
plot1.show()

这篇关于如何使用Sympy绘图在特定的x坐标上添加标记的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)