등고선 플롯에서 matplotlib clabels의 위치를 제어하고 싶지만 clabel에서 manual = True 플래그를 사용하지 않아야합니다. 예를 들어, x 좌표를 지정하고이 선을 통과하는 지점에 레이블을 만들려합니다. 나는 당신이 get_position()을 사용하여 개별 레이블의 위치를 얻을 수 있다는 것을 알지만, 나는 그것에 매달려있다. 어떤 도움이라도 대단히 감사하겠습니다. 감사!Matplotlib Contour Clabel 위치
답변
아니요, 그렇게하기 위해 matplotlib에 내장 된 방법이 없습니다. 기본 위치로 살거 나 수동으로 완전히 상호 작용하고 마우스를 사용해야합니다.
버그 신고를 업스트림으로보고 알고리즘을 개선 할 수 있습니다.
이 문제를 해결하는 데는 여러 가지 옵션이 있습니다. 첫 번째는 프로그래밍 방식으로 윤곽 그림에 텍스트를 배치하는 것입니다. 이런 식으로 텍스트 아래의 줄을 확실하게 제거 할 수 없습니다. 윤곽선이 c
이라고 가정하면 등고선은 c.collections
에 있습니다. 모든 등고선에 대해 get_paths
을 호출하고 해당 경로에 텍스트를 배치하십시오.
다른 옵션은 수동 배치 코드 (matplotlib.contour.BlockingContourLabeler
)를 대체하거나 레이블 위치 (matplotlib.contour.locate_label
)를 찾는 코드를 미세 조정하는 것입니다.하지만 두 기능 모두 매우 밀집합니다. 당신이 locate_label
에 대한 교체 작업과 함께 올 수 있다면 당신은
%psource c.clabel
와 대화 형 세션에서 함수 소스를 쉽게 볼 수 있습니다
ipython
사용하는 경우 그냥 당신이 Btw는 매크로
def your_locate_label(self, linecontour, labelwidth):
# some magic
pass
ar = np.array([[1,0], [0,1]]
c = matplotlib.contour(ar)
c.locate_label = your_locate_label
c.clabel()
음모를 꾸미고에 기존의 방법을 덮어
직접 호출은 사용자의 파일에 $EDITOR
은 예, 지금 거기
%edit c.clabel
로 정의했다 레이블 위치를 제어하는 방법입니다! https://github.com/matplotlib/matplotlib/pull/642
plt.figure()
CS = plt.contour(X, Y, Z)
manual_locations = [(-1, -1.4), (-0.62, -0.7), (-2, 0.5), (1.7, 1.2), (2.0, 1.4), (2.4, 1.7)]
plt.clabel(CS, inline=1, fontsize=10, manual=manual_locations)
매뉴얼은 X, Y의 반복 가능한 객체가 될 수 있습니다 튜플. 등고선 레이블은 각 x, y 위치에서 마우스를 클릭하는 것처럼 만들어집니다. – Faber
자동화 된 라벨링을 허용하는 방법이 있습니까? 그런 다음 라벨을 반복하여 축과 교차하는 라벨을 제거하고 향상시킬 수 있습니까? –
- 1. matplotlib?
- 2. matplotlib - 등고선에서 데이터 추출
- 3. Matplotlib autoscale
- 4. Matplotlib 축 레이블
- 5. matplotlib matshow labels
- 6. matplotlib : 축 변경
- 7. Matplotlib 텍스트 크기
- 8. Matplotlib 색상 표
- 9. Matplotlib 떨림 눈금
- 10. 루프의 Matplotlib 범례?
- 11. 산점도 대신 lineplot하기 matplotlib
- 12. 대화 형하기 matplotlib
- 13. double scale 마우스가있는 Matplotlib
- 14. matplotlib 초보자 부부의 의문점
- 15. MatPlotLib coulored triangulars
- 16. matplotlib 백엔드 - 신경 써야합니까?
- 17. Matplotlib imshow zoom 기능?
- 18. Matplotlib square boxplot
- 19. matplotlib border width
- 20. Python - Finance Matplotlib related
- 21. 전체 화면 matplotlib 그림
- 22. set_data 및 autoscale_view matplotlib
- 23. Matplotlib 탐색 도구 모음
- 24. MATLAB에 해당하는 matplotlib truesize()
- 25. 하기 matplotlib savefig 이미지
- 26. Matplotlib 범례 도움말
- 27. Python matplotlib 등고선도 로그 피겨 스케일
- 28. 그레이 스케일로 matplotlib 플롯을 저장하십시오.
- 29. 파이썬에서 수직 레이블이있는 Barchart/matplotlib
- 30. Matplotlib : 범례가 제대로 표시되지 않음
나는이 문제를 게시 찾지 못했습니다, 그래서 만든 새로운 : https://github.com/matplotlib/matplotlib/issues/613 – keflavich