簡體   English   中英

Python:如何 label 圖的節點

[英]Python: How to label nodes of a graph

我正在嘗試生成一個顯示一堆氣泡的圖表,類似於此圖: 氣泡 但是,我想更改此圖中的一些內容:首先,注釋應該是每個氣泡中心的 go。 其次,我希望將氣泡分開一點,然后從每個左側氣泡到其右側相鄰氣泡都有一個箭頭。

我要問的是:有沒有簡單的方法可以做到這一點?

到目前為止,我正在使用 PatchCollection 來繪制這些氣泡。 我覺得這不是最簡單的方法:

    myList = [20, 15, 10, 5, 0, 1, 6, 11, 16, 2^, 22, 17, 12, 7, 3, 8, 13, 18, 23, 24, 19, 14, 9, 4, 8]
    x_coords = list(range(len(myList))

    plt.figure()
    axes = plt.gca()

    for i in range(0, len(myList)):
        x = x_coords[i]
        y = 4
        circle = plt.Circle((x,y), radius=0.5, fill=False, edgecolor='k')
        patches.append(circle)
        plt.annotate(myList[i], (x,y))

    collection = PatchCollection(patches, match_original=True)
    axes.add_collection(collection)
    axes.set_aspect('equal', adjustable='box')
    plt.show()

我也知道如何通過注釋添加箭頭。 但是有沒有辦法使標簽居中,即數字?

對於每個補丁,您需要包括

plt.text(x_center, y_center, 'yourLabelGoesHere')

您可能必須編寫一個可以動態計算x_centery_center的 function。 從您共享的圖表中,我猜y_center可能是一個常數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM