我在同一圖中有一個散點圖和一個線圖。我創建它使用繪圖掩蓋了matplotlib中的其他繪圖
fig, ax = plt.subplots()
scat = plt.scatter([0], [0], color = 'r')
line, = ax.plot(pos_data.x, pos_data.y, color = "k")
的線圖目前模糊的散點圖,但我想它周圍的其他方式(比如,它應該看起來像線圖被首先呈現,並在上面的散點圖那一個)。
這可能嗎?
我在同一圖中有一個散點圖和一個線圖。我創建它使用繪圖掩蓋了matplotlib中的其他繪圖
fig, ax = plt.subplots()
scat = plt.scatter([0], [0], color = 'r')
line, = ax.plot(pos_data.x, pos_data.y, color = "k")
的線圖目前模糊的散點圖,但我想它周圍的其他方式(比如,它應該看起來像線圖被首先呈現,並在上面的散點圖那一個)。
這可能嗎?
嘗試改變Z順序
plt.plot(x, y, 'r', zorder=1, lw=3)
plt.scatter(x, y, s=120, zorder=2)
的默認繪製順序爲軸線是補丁,線條,文字。該順序由zorder屬性確定。下面的默認 設置
Artist Z-order Patch/PatchCollection 1 Line2D/LineCollection 2 Text 3
您可以通過設置ZORDER更改個別藝術家的順序。 任何單獨的plot()調用都可以爲該特定項目的zorder設置一個值。
來自here的重複問題。
您需要設置zorder
對於每個圖形,值越大留在上面:
import matplotlib.pyplot as plt
class Data:
pass
pos_data = Data()
pos_data.x = [1,2,3,4,5]
pos_data.y = [7,2,5,3,4]
fig = plt.figure()
ax = fig.add_subplot(111)
scat = ax.scatter(pos_data.x, pos_data.y, color = 'r', zorder=2)
line = ax.plot(pos_data.x, pos_data.y, color = "k", zorder=1)
您也可以通過設置標誌和顏色上的積達到同樣的事(見matplotlib.plot
doc更多選項):
...
line_with_markers = ax.plot(pos_data.x, pos_data.y, color = "k",
marker='o', markerfacecolor='red')
如果反轉散點圖和線圖的順序會發生什麼? – briansrls
@briansrls試過沒有成功:/ – pingul