보케 3.1 출시

Mar 11 2023
Bokeh 3.1의 출시를 발표하게 되어 기쁩니다! 이 릴리스에는 개선된 문서 이벤트, 영구 선택 오버레이, 새로운 날짜, 날짜 시간 및 시간 선택기, 텍스트 글리프에 대한 풍부한 시각 효과를 비롯한 몇 가지 중요한 업데이트가 포함되어 있습니다.

Bokeh 3.1의 출시를 발표하게 되어 기쁩니다! 이 릴리스에는 개선된 문서 이벤트, 영구 선택 오버레이, 새로운 날짜, 날짜 시간 및 시간 선택기, Text문자 모양에 대한 풍부한 시각 효과를 비롯한 몇 가지 중요한 업데이트가 포함되어 있습니다.

이 게시물은 대부분의 사용자에게 특히 유용할 것으로 생각되는 업데이트를 간략하게 설명합니다( 자세한 내용은 변경 로그 및 릴리스 정보 참조).

문서 이벤트

오랫동안 요청된 기능은 "준비" 또는 "연결 끊김" 과 같은 문서 이벤트에 대한 JavaScript 콜백을 정의하는 기능이었습니다 . 이전에는 "ready" 이벤트 만 존재했으며 Python 콜백만 지원했습니다. 이제 새로운 "연결 끊김" 이벤트를 포함한 모든 문서 이벤트가 Python 및 Javascript 콜백을 모두 지원합니다.

  • DocumentReady— BokehJS가 주어진 문서에 대한 초기화를 완료했을 때 발생합니다.
  • ConnectionLost— Bokeh 서버에 대한 websocket 연결이 끊어졌을 때 발생합니다.

curdoc().js_on_event("connection_lost", CustomJS(code="""
    alert("Connection lost!")
""")

      
                

이제 CSS 스타일을 새 Styles개체를 사용하여 프로그래밍 방식으로 적용할 수 있습니다.

style = Styles(
    display="grid",
    grid_template_columns="auto auto",
    column_gap="10px",
)
grid = Div(style=style)

from bokeh.models import InlineStyleSheet

stylesheet = InlineStyleSheet(
    css=".bk-slider-title { background-color: lightgray; }"
)

slider = Slider(
    value=10, start=0, end=100, step=0.5, stylesheets=[stylesheet]
)

영구 선택 오버레이

Bokeh는 이제 영구 상자, 폴리 및 올가미 선택 오버레이를 지원합니다. persistent각 선택 도구에서 속성을 설정하여 활성화할 수 있습니다 . 이 기능을 사용하면 초기 선택이 완료된 후 오버레이를 이동하거나 모양 및 크기를 변경하여 선택한 오버레이와 상호 작용할 수 있습니다. 사용자는 처음부터 시작할 필요 없이 필요에 따라 선택 항목을 구체화할 수 있습니다. 선택 오버레이는 도구 변경 사이에 유지되므로 사용자는 선택을 하고 주위를 이동하거나 확대한 다음 계속해서 동일한 선택을 미세 조정할 수 있습니다.

텍스트 글리프의 시각적 개선 사항

기존 글리프는 일반 텍스트로 제한되었으므로 사용자는 더 풍부한 텍스트 시각적 개체를 갖기 위해 여러 글리프를 작성하거나 등 Text의 주석으로 전환해야 했습니다 . LabelSet이제 사용자는 Text글리프의 배경 및 테두리 시각적 개체, 테두리 반경, 패딩 및 앵커링을 구성할 수 있습니다.

앞으로 Text글리프는 레이블 및 텍스트 주석에 사용되는 기본 도구가 될 것입니다.

둥근 모서리

모든 직사각형 글리프( Rect, Block, Quad, HBar및 VBar) 및 BoxAnnotation새 border_radius속성에 대한 지원을 얻었습니다. 이 속성은 모든 글리프에 대해 둥근 모서리를 제공하고 세 가지 백엔드 모두에서 작동합니다.

전설

이전에는 범례가 방향에 따라 단일 행 또는 열 레이아웃을 지원했습니다. nrowsBokeh 3.1에서는 및 속성 을 사용하여 그리드 범례를 만들 수 있습니다 ncols.

범례 제목은 범례의 양쪽에 배치할 수 있으며 여러 줄 텍스트를 지원합니다. 마지막으로 범례 항목 배경을 구성하기 위한 새로운 속성도 있습니다.

날짜, 날짜 및 시간 위젯

DatePickerBokeh에는 이미 단일 날짜 값을 선택할 수 있는 가 있습니다 . 이 릴리스에는 여러 날짜 및 날짜 범위 선택에 대한 지원이 추가되었습니다. 시간 및 날짜/시간에 대한 지원도 추가되었습니다.

  • DatetimePicker
  • DatetimeRangePicker
  • MultipleDatetimePicker
  • DateRangePicker
  • MultipleDatePicker
  • TimePicker

모든 새 위젯은 사용자 지정 날짜 및 시간 형식을 지원합니다.

경사 주석의 영역 채우기

이제 주석은 Slope주석에 의해 정의된 경사선 위와 아래의 채우기 영역 구성을 지원합니다.

색상 매핑된 이미지 스택

이 릴리스에는 색상 매핑 이미지 스택에 대한 지원도 포함되어 있습니다. 스택의 각 이미지에는 고유한 색상이 있으며 스택은 이러한 개별 색상의 가중 평균을 사용하여 렌더링됩니다.

향후 릴리스는 전체 스택을 대화식으로 스크러빙할 수 있도록 개별 이미지 스택의 색상 매핑 수준과 같은 새로운 상호 작용을 추가하기 위해 이 작업을 기반으로 구축될 것입니다.

컬러바

최근 윤곽 렌더러에 추가된 편리한 방법이 construct_color_bar너무 좋아서 모든 글리프 렌더러에 추가하기로 했습니다. 이 메서드는 알려진 색상 속성에 대해 정의된 색상 매퍼를 찾고 적절하게 구성된 색상 막대를 반환합니다.

# use the field name of the column source
cmap = linear_cmap('counts', palette="Spectral6", low=min(y), high=max(y))

r = p.scatter(x='x', y='y', color=cmap, size=15, source=source)

# automatically create a color bar from the scatter glyph renderer
color_bar = r.construct_color_bar(width=10)

Bokeh 3.1은 출시 직후 모든 일반 채널을 통해 사용할 수 있습니다. 대부분의 경우 conda install bokeh또는 를 실행할 수 있습니다 pip install bokeh.

사용 가능한 가장 최신 버전을 즉시 받으려면 다음을 사용하여 anaconda.org 의 Bokeh 채널 에서 직접 설치할 수도 있습니다 .conda install -c bokeh bokeh

Bokeh 설치에 대한 자세한 내용은 Bokeh 설명서 의 설치 세부 정보 섹션을 참조하십시오 .

다음 단계

질문이 있으시면 Bokeh Discourse를 방문하시기 바랍니다 ! 친절한 프로젝트 관리자와 Bokeh 사용자 커뮤니티가 발생하는 모든 문제를 탐색하는 데 도움을 줍니다.

참여에 관심이 있는 개발자는 기여자 가이드를 방문하여 모범 사례, 기술 고려 사항 및 시작 방법에 대한 지침을 얻을 수 있습니다.

언제나처럼 사용자의 사려 깊은 피드백과 특히 Bokeh를 개선하기 위한 기여자 커뮤니티의 작업에 감사드립니다!