일부 선분 (LineCollection)과 일부 점이있는 그래프가 있습니다. 이 선과 점에는 그래프로 표시되지 않은 일부 값이 있습니다. 마우스 오버 도구 팁이나 점과 선에 대한 관련 값을 쉽게 찾을 수있는 다른 방법을 추가하고 싶습니다. 이 점 또는 선분 세그먼트 가능합니까?matplotlib의 점 및 선 도구 설명?
10
A
답변
6
포인트, 나는 방법을 발견했다, 그러나 당신은 WX 백엔드
"""Example of how to use wx tooltips on a matplotlib figure window.
Adapted from http://osdir.com/ml/python.matplotlib.devel/2006-09/msg00048.html"""
import matplotlib as mpl
mpl.use('WXAgg')
mpl.interactive(False)
import pylab as pl
from pylab import get_current_fig_manager as gcfm
import wx
import numpy as np
import random
class wxToolTipExample(object):
def __init__(self):
self.figure = pl.figure()
self.axis = self.figure.add_subplot(111)
# create a long tooltip with newline to get around wx bug (in v2.6.3.3)
# where newlines aren't recognized on subsequent self.tooltip.SetTip() calls
self.tooltip = wx.ToolTip(tip='tip with a long %s line and a newline\n' % (' '*100))
gcfm().canvas.SetToolTip(self.tooltip)
self.tooltip.Enable(False)
self.tooltip.SetDelay(0)
self.figure.canvas.mpl_connect('motion_notify_event', self._onMotion)
self.dataX = np.arange(0, 100)
self.dataY = [random.random()*100.0 for x in xrange(len(self.dataX))]
self.axis.plot(self.dataX, self.dataY, linestyle='-', marker='o', markersize=10, label='myplot')
def _onMotion(self, event):
collisionFound = False
if event.xdata != None and event.ydata != None: # mouse is inside the axes
for i in xrange(len(self.dataX)):
radius = 1
if abs(event.xdata - self.dataX[i]) < radius and abs(event.ydata - self.dataY[i]) < radius:
top = tip='x=%f\ny=%f' % (event.xdata, event.ydata)
self.tooltip.SetTip(tip)
self.tooltip.Enable(True)
collisionFound = True
break
if not collisionFound:
self.tooltip.Enable(False)
example = wxToolTipExample()
pl.show()
+1
enthought가 다음과 같은 기능을보다 일반적으로 지원한다면 매우 유용 할 것입니다 ... – aestrivex
1
아마도 this recipe에 변화가이 점에 대해 원하는 것을 할 것을 사용할 필요가? 적어도 wx 백엔드에만 국한되지 않습니다.
2
그것은 오래된 스레드하지만 경우에 사람이 라인에 툴팁을 추가하는 방법을 찾고,이 작품 :
import matplotlib.pyplot as plt
import numpy as np
import mpld3
f, ax = plt.subplots()
x1 = np.array([0,100], int)
x2 = np.array([10,110], int)
y = np.array([0,100], int)
line = ax.plot(x1, y)
mpld3.plugins.connect(f, mpld3.plugins.LineLabelTooltip(line[0], label='label 1'))
line = ax.plot(x2, y)
mpld3.plugins.connect(f, mpld3.plugins.LineLabelTooltip(line[0], label='label 2'))
mpld3.show()
관련 문제
- 1. Form MouseDown에서 점으로 점 (점 대 점) 선 그리기
- 2. 두 점 사이에 선 그리기
- 3. Microsoft CRM 4.0 설명 선
- 4. iPad의 큰지도 주석 설명 선
- 5. Flex PieChart의 스타일 설명 선?
- 6. Python의 3D 모델 (점/선) 렌더러
- 7. .NET의 도구 설명
- 8. WPF 및 DisplayAttribute 바인딩 도구 설명
- 9. 3D의 선 4 세트에 가장 가까운 점
- 10. 가장 간단한 선, 점, 픽셀 그리기 방법?
- 11. Gridview의 도구 설명
- 12. 오류/검증/도구 설명
- 13. Google지도 도구 설명
- 14. 현재 템플릿 도구 설명
- 15. WPF 도구 설명 가시성
- 16. 변경 도구 설명 글꼴
- 17. WPF의 도구 설명 재정의
- 18. 윈폼 도구 설명
- 19. WPF 이미지 도구 설명
- 20. Expression Blend + Silverlight에서 설명 선 사용
- 21. 사용자 지정 WPF 도구 설명
- 22. SelectItem에 대한 서식있는 도구 설명
- 23. 설명 및
- 24. JQuery -보기에서 도구 설명 유지
- 25. WPF 도구 설명 (컨트롤 포함)
- 26. C# MDI 클라이언트의 도구 설명
- 27. 현재 문서에 도구 설명 표시
- 28. matplotlib의 중심점
- 29. 동적 HTML "추가 정보"설명 선/주석 (jquery? ajax 제어 도구 키트)
- 30. Quartz2D 및 그래디언트 선
를 ([여기하기 matplotlib에서 하나의 예입니다] http://matplotlib.sourceforge.net/ examples/pylab_examples/cursor_demo.html). Google에서 찾았습니다. [다음은 또 다른 인기있는 SO 답변입니다.] (http://stackoverflow.com/a/4674445/1020470) [글쎄, 이것도 matplotlib 예제를 가리 킵니다.] (http://stackoverflow.com/ a/7909589/1020470) –