如何使用 adjustText 防止圖形中的註解重疊?

Susan Sarandon
發布: 2024-10-31 02:48:31
原創
328 人瀏覽過

How to Prevent Overlapping Annotations in Graphs with adjustText?

如何避免圖表中的註解重疊

圖表中的註解經常重疊,導致資訊難以閱讀。在本文中,我們將使用 adjustmentText 函式庫討論此問題的解決方案。

Matthew Brett 為條形圖中的重疊註釋提供了一個有前途的解決方案。然而,將“axis”方法轉換為其他圖形類型可能具有挑戰性。

adjustText 函式庫

由 Phlya 編寫的 adjustmentText 函式庫提供了一個優雅的解決方案防止圖表中的文字重疊。它會自動調整文字註釋的位置以盡量減少重疊。

範例實作

要實現此解決方案,請按照以下步驟操作:

  1. 導入必要的庫:

    <code class="python">import matplotlib.pyplot as plt
    from adjustText import adjust_text
    import numpy as np</code>
    登入後複製
  2. 將資料準備為包含(x、y、文字)值的元組清單。
  3. 建立繪圖並加入線條與註解:

    <code class="python">p1 = plt.plot(eucs, covers, color="black", alpha=0.5)
    texts = []
    for x, y, s in zip(eucs, covers, text):
     texts.append(plt.text(x, y, s))</code>
    登入後複製
  4. 使用adjustmentText 調整文字位置:

    <code class="python">adjust_text(texts, only_move={'points': 'y', 'texts': 'y'}, arrowprops=dict(arrowstyle="->", color='r', lw=0.5))</code>
    登入後複製
  5. 顯示繪圖:
    <code class="python">plt.show()</code>
    登入後複製

範例輸出

產生的繪圖會正確調整註解以避免重疊,如給定影像所示。

微調

為了更精確的控制,您可以調整以下參數:
  • only_move:指定哪些元素應移動(例如,僅垂直移動文字)。
  • force_points:調整點之間排斥力的強度。
  • force_text:調整文字之間排斥力的強度。
  • arrowprops:自訂連接箭頭的外觀。

這些參數可讓您根據您的特定需求自訂調整流程。

以上是如何使用 adjustText 防止圖形中的註解重疊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!