[英]how to remove line connecting discontinued point in matplotlib.pyplot.plot
[英]How does matplotlib.pyplot.plot() connect scatter points?
当我们在 matplotlib 中使用pyplot.plot(x, y)
时,默认绘制一条连接所有点(顶点)的线 plot。 我想了解, plot()
究竟是如何做到的? 它如何连接点? 它是否使用类似 Bresenham 的 Line 算法来实现这一点?
如果我plot
两点,我得到一个包含Line
object 的列表
In [58]: g=plt.gca()
In [59]: g
Out[59]: <matplotlib.axes._subplots.AxesSubplot at 0x7fce94a26400>
In [60]: g.plot([0,1],[1,2])
Out[60]: [<matplotlib.lines.Line2D at 0x7fce94a26160>]
https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D
这又具有许多属性和方法,尽管一个特别相关的似乎是Path
object
In [67]: aline._path
Out[67]:
Path(array([[0., 1.],
[1., 2.]]), None)
In [68]: aline._path.__dict__
Out[68]:
{'_vertices': array([[0., 1.],
[1., 2.]]),
'_codes': None,
'_interpolation_steps': 1,
'_simplify_threshold': 0.1111111111111111,
'_should_simplify': False,
'_has_nonfinite': False,
'_readonly': False}
https://matplotlib.org/api/path_api.html#matplotlib.path.Path
请注意,它的代码类型包括画笔方向,例如: move to
和line to
。 图形后端通常采用以下命令:“将笔放在 x”、“将线画到 y”、“抬起笔”。 后端负责插入 x 和 y 之间的点,而不是命令代码。 在这种情况下,您无法访问edge
。
虽然它不使用matplotlib
,但您可能会发现turtle
图形 package 具有指导意义。 这使您可以直接控制绘图pen
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.