在python的matplotlib中,對於牛頓方法的文章,我想將前三個迭代和最後一個在線圖中可視化,其中每個迭代顯示爲單獨的曲線。圖例標籤將如'迭代1','迭代2','迭代3','迭代14'。爲了清晰起見,我想從最後一個視覺上抵消前三個,或者用一些空白或者理想地用三個點來表示跳躍。有沒有人知道實現這個目標的方法?抵消matplotlib的圖例項目之一
0
A
回答
0
您可以顯示2個圖例。與3次迭代的第一,第二與最後一次迭代:
l1 = plt.legend(data_for, 3_iterations, loc=[1.01,0.6])
l2 = plt.legend(data_for, last_iteration, loc=[1.01,0.2])
plt.gca().add_artist(l1) # to add back first legend
loc
允許您選擇圖例的位置。這裏將在圖的右側,並且在l2之上的l1。你可以修改它,使其儘可能清晰。
對於三重點,您可以將它們與plt.text(x,y,"...")
相加,其中x和y是您想要'...'的座標。
如果你用你的代碼編輯你的問題,以一個工作的例子,我可能會更精確。
其他解決方案:
比方說leg
是傳說對象,你可以移動圖例的某些部分。例如,如果你想移動的傳奇第二行([1]
):
L2 = leg.get_lines()[1]
L2.set_ydata(np.array(L2.get_ydata())-2) # move down of 2 units the line (in the legend based coordinates)
,以將相關的文字:
T2 = leg.texts[1]
T2.set_y(-2)
和框架:
frame = leg.get_frame()
frame.set_height(frame.get_height()+20)
對於框架,它實際上不適合我,我不知道爲什麼。也許它會爲你工作。 或者,你可以使用:
leg=plt.legend(borderpad=2)
一步一步,你可以設置你的傳奇。可以很長,但我會選擇第一個選項,因爲你可以刪除框架,它不會引人注目。
希望這有助於
相關問題
- 1. Matplotlib .fill_between()抵消-1 -1
- 2. 抵消matplotlib字幕中的字符
- 3. 手動添加圖例項目Python matplotlib
- 4. CSS ::之前抵消::第一個字母
- 5. 抵消了統一
- 6. matplotlib取消軸對象上的圖例
- 7. 圖例項目之間的空格
- 8. 抵消scrollTop的
- 9. 抵消指數圖表
- 10. 抵消一些操作集
- 11. matplotlib中的圖例
- 12. 的UITableView:抵消selectedBackgroundView
- 13. UIGestureRecognizer抵消的TargetView
- 14. Matplotlib圖例,在列上添加項目而不是按下來
- 15. 如何添加更多項目到matplotlib圖例?
- 16. datepicker.iso8601Week抵消
- 17. 抵消UIRefreshControl
- 18. DatetimeIndex抵消
- 19. 計算抵消
- 20. 來抵消backgorund中的圖像
- 21. 風俗畫的JPanel抵消繪圖
- 22. 抵消實例之間的SQL Server代理作業計劃的開始時間
- 23. 如何在不抵消背景的情況下抵消文本
- 24. Matplotlib箭頭圖例
- 25. Matplotlib圖例幫助
- 26. 圖例項目隱藏/顯示其他圖例項目
- 27. xgboost,抵消風險?
- 28. PHP抵消錯誤
- 29. mysql - 抵消問題
- 30. 非法抵消laravel
嗨,我在想,同時仍然在一個框移動條目,但這無疑是一個很好的備份解決方案。謝謝! – gertjan
@gertjan我使用另一個解決方案編輯答案 – jrjc
這看起來像是我正在尋找的解決方案的類型,但是當我嘗試時,只有線條向下移動,而不是文本。此外,邊界框不會放大以包含移位的內容。我簡要了解了圖例對象,但無法猜測如何解決這個問題。 – gertjan