Jupyter-lab + matplotlib로 마우스 위치의 이미지 데이터의 픽셀 값을 표시하는 메모
3338 단어 JupyterLabmatplotlib
배경
이미지 데이터 (RGB, 물리 데이터 및 텐서 데이터의 이미지 등)의 픽셀 값을 Jupyter-lab로 쉽게 만들고 싶습니다.
방법
Jupyter notebook 과 Jupyter-lab 는 구조가 다른 것 같아, notebook 의 방법은 사용할 수 없습니다 (
%matplotlib notebook
, inline
matplotlib의 interactive plot은 작동 방식이 다릅니다 (JS 출력을 사용해야합니까?).
ipympl 및 jupyter-matplotlib 확장을 설치해야합니다.
$ jupyter labextension install @jupyter-widgets/jupyterlab-manager
$ jupyter labextension install jupyter-matplotlib
.
jupyterlab-manager는 Jupyter-lab에서도 수행 할 수 있습니다.
샘플
from stackoverflow
%matplotlib widget
import matplotlib.pyplot as plt
import numpy as np
import ipywidgets as wdg # Using the ipython notebook widgets
# Create a random image
a = np.random.poisson(size=(12,15))
fig = plt.figure()
plt.imshow(a)
# Create and display textarea widget
txt = wdg.Textarea(
value='',
placeholder='',
description='event:',
disabled=False
)
display(txt)
# Define a callback function that will update the textarea
def onclick(event):
txt.value = str(event) # Dynamically update the text box above
# Create an hard reference to the callback not to be cleared by the garbage collector
ka = fig.canvas.mpl_connect('button_press_event', onclick)
Voila!
@axlair/jupyterlab_vim v0.12.2 enabled OK
@jupyter-widgets/jupyterlab-manager v2.0.0 enabled OK
itkwidgets v0.27.0 enabled OK
jupyter-matplotlib v0.7.3 enabled OK
zoom
shift + 왼쪽 드래그로 zoom in 할 수 있습니다.
오른쪽 드래그로 zoom out 할 수있는 것 같습니다.
picker
picker의 이벤트 등록을 통해 다양한 기능을 확장 할 수 있습니다.
jupyterlab에서 matplotlib 플롯 다이어그램에 picker를 설정하는 방법
htps : // m / 쇼요 / ms / 7644dbcd2f2cd84c02b
picker와 같은 이벤트와 결합하여 사용자가 지정한 네 모서리를 colorchecker 프레임에 지정하는 것과 같은 작업을 수행 할 수 있다고 상상할 수 있습니다.
ipywidgets interact와의 조합
일단 interact와 결합 할 수 있는지 확인했습니다.
그러나
# Create a random image
def bora(sx):
a = np.random.poisson(size=(sx,15))
fig = plt.figure()
plt.imshow(a)
# Create and display textarea widget
txt = wdg.Textarea(
value='',
placeholder='',
description='event:',
disabled=False
)
display(txt)
# Define a callback function that will update the textarea
def onclick(event):
txt.value = str(event) # Dynamically update the text box above
# Create an hard reference to the callback not to be cleared by the garbage collector
ka = fig.canvas.mpl_connect('button_press_event', onclick)
interact(bora, sx=15)
느낌이 들었을 때, 많은 fig가 열리고 warning이 나왔습니다.
적절하게 close를 호출해야합니다.
Reference
이 문제에 관하여(Jupyter-lab + matplotlib로 마우스 위치의 이미지 데이터의 픽셀 값을 표시하는 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/syoyo/items/a43e568ee5309c4f17d3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)