Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Ecosystem

Kandy: JetBrains의 새로운 Kotlin 시각화 라이브러리

Read this post in other languages:

JetBrains의 새로운 Kotlin 플롯 시각화 라이브러리인 Kandy를 소개하게 되어 기쁩니다. 이 라이브러리에서는 다양한 종류의 차트를 생성하기 위한 새롭고 강력한 DSL이 제공됩니다. 이제 첫 공개 테스트 버전을 사용해 볼 수 있습니다. 사용해 보시고 피드백과 의견을 저희에게 공유해 주세요.

Kandy 문서

어떤 모양과 느낌인가요?

df.plot {
   points {
       x(xShot) { axis.name = "Horizontal Position (meters)" }
       y(yShot) { axis.name = "Vertical Position (meters)" }
       size = 8.5
       color(outcome) {
           scale = categorical(
               true to Color.GREEN, false to Color.RED
           )
           legend {
               name = "Outcome"
               breaksLabeled(true to "Goal", false to "Miss")
           }
       }
   }
   layout.title = "Penalty Shot Outcomes Analysis"
}

Kandy를 사용해야 하는 이유

데이터 분석용 Kotlin의 에코시스템은 빠르게 성장하고 있습니다. 하지만 지금까지는 퍼즐을 완성하는 중요한 조각인 플롯 생성 도구가 빠져 있었습니다. 그래서 JetBrains는 Kotlin DataFrame, Kotlin Notebook 등의 다른 도구와 긴밀하게 통합되고, 간단하고 관용적이며 읽기 쉽고 타입 안정적인 플롯 생성용 DSL인 Kandy를 만들기로 했습니다.

Kotlin Notebook에서 사용

Notebook에서 Kandy 사용하려면 간단히 %use kandy를 사용하세요. 그러면 Kandy의 최신 안정화 버전이 자동으로 로드되고 필요한 모든 가져오기와 플롯 렌더링이 추가됩니다. 차트는 Swing을 사용하여 Notebook 셀 출력에서 직접 렌더링되며 대화형으로 작동합니다. 플롯 요소 위로 마우스를 가져가면 툴팁을 볼 수 있습니다. 플롯은 자동 테마로 표시됩니다. 또한 출력에서 사용 가능한 형식 중 하나로 저장할 수도 있습니다(output(출력) 메뉴 사용).

Kotlin DataFrame 사용

Kandy는 데이터를 시각화하는 빠르고 쉬운 방법인 DataFrame에 대한 .plot {} 확장을 추가하여 DataFrame 워크플로를 바로 연장되도록 합니다. 또한, Kotlin Notebook에서 작업하거나 IntelliJ IDEA의 DataFrame 플러그인을 사용할 때 자동 생성된 DataFrame 확장 프로퍼티 열을 사용하면 플롯 생성 시 타입 안정성을 더욱 높이고 철자가 틀린 열 이름을 방지할 수 있습니다.

Kandy는 어떤 종류의 차트를 지원하나요?

Kandy는 가장 인기 있는 차트를 포함하여 다양한 차트를 제공합니다.

이게 전부가 아닙니다! 예시 갤러리에서 Kandy 플롯을 확인할 수 있습니다.

지금 시작해 보기

빨리 Kandy를 경험해보고 싶나요? 다음은 빠른 시작 및 예시 링크입니다.

문서

GitHub 저장소

버그를 발견하셨나요? 아니면 원하는 종류의 차트나 기능을 찾지 못했거나, 다른 문제나 제안 사항이 있나요? GitHub 이슈 페이지를 방문하여 제안하는 개선점을 알려주세요.

이와 함께 Kotlin Slack의 #datascience 채널에 여러분의 참여를 초대합니다(여기에서 초대 받기). 질문하고 토론에 참여하거나 새로운 릴리스에 관한 알림을 받아보세요.

Kotlin과 #use_kandy를 사용해 보세요!

게시물 원문 작성자

image description

Discover more