圖表線I具有的x,用於以下列格式路徑Y數據(僅出於說明的樣品):如何確定在matplotlib
seq p1 p2
0 20 2 3
1 20 2 4
2 20 4 4
3 22 5 5
4 22 5 6
5 23 6 2
6 23 6 3
7 23 6 4
每個路徑具有的點數和它們由SEQ識別屬於同一個seq的點被認爲是一條路徑,依此類推。
我使用下面的代碼繪製了這些路徑(使用與上述相同格式的我的真實數據)並附加了結果:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(12, 8))
for (key, grp) in df.groupby("seq"):
grp.plot(linestyle = "solid", x="p1", y="p2", ax = ax, label = key)
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.title("Paths")
plt.show()
我繪製了大約40條路徑,現在的問題是我應該如何確定哪個路徑是用於uid 184,哪個路徑是uid-194?它們都在圖例中用相同的顏色標記。有沒有一種方法能夠明確地識別每條路徑,也可以在路徑上的某處標記(但可能會使圖形混亂)。
我的第二個問題是我想標記每個路徑/軌跡的起點和終點。像起點可以綠色和終點可以紅色。例如,在上面的示例df中,對於uid-20,起始點是第0行中的(2,3),第2行中的終點是(4,4)。請建議一種方法將這些起點和終點標記爲df中的每個路徑。
太感謝你了,是的,第一部分是棘手的,我不知道,如果它甚至有可能完全單一的行,太當有大量的軌跡。對於第二部分,線條開始和結束處的標記與線條本身具有相同的顏色,我想特別將開始標記保留爲紅色,並將結束標記保留爲綠色以顯示df的路徑,我該怎麼做那? – Liza
請參閱更新。 –
感謝洛特..只是一點點改變grp.iloc [0]/grp.iloc [-1]應該是這樣的雙方括號:grp.iloc [[0]] .plot(marker =「o」, x =「px」,y =「py」,ax = ax,color ='r',legend = False)和grp.iloc [[-1]] .plot(marker =「o」,x =「px」 ,y =「py」,ax = ax,color ='g',legend = False),否則會改變整個繪圖。 – Liza