簡體   English   中英

在每個數據點具有對齊注釋的散點圖

[英]scatter plot with aligned annotations at each data point

我想制作一個包含幾十個點的散點圖,這些點可能非常接近。 我已經嘗試了從問題的答案中注釋的方法:

>> matplotlib 散點圖在每個數據點具有不同的文本

但是當點彼此足夠接近時,您可以看到標簽/注釋重疊。 是否有任何庫或方法可以生成帶有單獨注釋的圖,這些注釋不會相互沖突,也不會與圖的邊界發生沖突?

 import matplotlib.pyplot as plt z = [0.15, 0.3, 0.45, 0.46, 0.6, 0.75] y = [2.56422, 3.77284, 3.52623, 3.52623, 3.51468, 3.02199] n = [58, 651, 393, "393(2)", 203, 123] fig, ax = plt.subplots() ax.scatter( z, y ) for i, txt in enumerate( n ): ax.annotate( txt, ( z[i] + .01, y[i] + .01 ) ) plt.show()
帶有碰撞注釋的散點圖

我寫了一個庫adjustText正是這樣做的。 https://github.com/Phlya/adjustText

z = [0.15, 0.3, 0.45, 0.46, 0.6, 0.75]
y = [2.56422, 3.77284, 3.52623, 3.52623, 3.51468, 3.02199]
n = [58, 651, 393, "393(2)", 203, 123]

fig, ax = plt.subplots()
ax.scatter( z, y )
texts = []
for i, txt in enumerate( n ):
    texts.append(ax.text(z[i], y[i], txt))
adjust_text(texts)
plt.show()

在此處輸入圖像描述

暫無
暫無

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

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