LoginSignup
1
0

Databricksノートブック上でクリックできる画像を表示する

Posted at

こちらの関連記事となります。

Databricks上で以下の記事のようなことをしたいとします。

ノートブックの実装はDatabricksとJupyterLabでも異なるので、別のアプローチが必要となります。

ここでは、ipycanvasを使います。

%pip install ipycanvas

次のセルに以下のロジックを記述します。

from math import pi
from ipycanvas import Canvas
width= 515
height= 474
canvas = Canvas(width=width, height=height)
display(canvas)

この時点ではキャンバスには何も表示されません。

次のセルに以下の内容を記述します。

注意
必ずセルを分けるようにしてください。同じセルに記述すると動作しません。

from ipywidgets import Image
img = Image.from_url("https://apod.nasa.gov/apod/image/2208/Cartwheel_Webb_2000.jpg")

canvas.draw_image(img, 0, 0)

from ipywidgets import Output
out = Output()

coordinates = []

@out.capture()
def handle_mouse_down(x, y):
  global coordinates
  coordinates.append((x,y))
  canvas.fill_style = "red"
  canvas.fill_arc(x, y, 10, 0, 2*pi)
  print("Mouse down event:", x, y)

canvas.on_mouse_down(handle_mouse_down)

キャンバスに画像が表示されます。
Screenshot 2023-09-13 at 15.59.42.png

画像をクリックするとクリックした場所に赤丸が表示されます。
Screenshot 2023-09-13 at 16.04.41.png

変数coordinatesにアクセスするとクリックされた座標にアクセスすることができます。

Out[4]: [(202, 164), (345, 294), (124, 300), (320, 192)]

Databricksクイックスタートガイド

Databricksクイックスタートガイド

Databricks無料トライアル

Databricks無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0