[英]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.