本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rで解析:D3.jsでインタラクティブな散布図を作成する「scatterD3」パッケージの紹介

D3.jsを使用したJavaScriptの散布図を作成するパッケージ「scatterD3」は拡大縮小、ラベルの移動、svg出力などインタラクティブな機能により散布図を簡単に生成できます。

パッケージバージョンは1.0.2。Windows 11 x64 (build 26200)のR version 4.6.0で確認しています。

パッケージのインストール

下記コマンドを実行してください。

# パッケージのインストール
install.packages("scatterD3")
# パッケージの読み込み
library("scatterD3")
スポンサーリンク

コマンド例

詳細はコメント、パッケージのヘルプを確認してください。

JavaScript = クライアントサイドのプログラミング言語で、Webページ上での動作を実現するために使用される。 D3 = Data-Driven Documentsの略で、データを用いてインタラクティブな可視化を行うためのJavaScriptライブラリ。

インタラクティブな散布図を作成:scatterD3コマンド

オプション意味初期値
xx値のベクトル、もしくはデータがNULLでない場合には変数名。
yy値のベクトル、もしくはデータがNULLでない場合には変数名。
dataプロットに使用するデフォルトのデータセットを指定。NULL
labテキストラベル、もしくはデータがNULLでない場合には変数名。NULL
x_logx軸を対数スケールにするかどうか。FALSE
y_logy軸を対数スケールにするかどうか。FALSE
point_size点のサイズ。(size_varがNULLでない場合には無視される)64
labels_sizeテキストラベルのサイズ。10
labels_positionsデータフレーム、もしくは自動ラベルを使用するための文字列”auto”.NULL
point_opacity点の不透明度。1
opacitiesopacityのリストやベクトルを指定する。NULL
hover_sizeマウスオーバー時のサイズ変更率を指定する。1
hover_opacityマウスオーバー時点の不透明度を指定する。NULL
fixed1対1のアスペクト比を強制する。FALSE
col_var点の色を指定するか、データが無い場合は変数名を指定する。NULL
col_continuous色スケールが連続である必要があるかどうかを指定する。(デフォルトは連続)NULL
colorsカスタム点の色を指定する。色は16進数で定義するか、d3-scale-chromatic関数名を指定する。NULL
ellipses点や色別グループにエリプシスを描くかどうかを指定する。FALSE
ellipses_levelエリプシスの信頼水準を指定する。(デフォルトは0.95)0.95
symbol_var点の記号を指定するか、データが無い場合は変数名を指定する。NULL
symbols点記号のベクトル。定義可能な値は「circle」、「cross」、「diamond」、「square」、「star」、「triangle」、「wye」。NULL
size_var点サイズのマッピングや変数名(データが NULL の場合)。NULL
size_range最小と最大の点サイズを指定する数値ベクトル(長さ2)。c(10, 300)
sizes各サイズは名前で関連付けられる名付けたリストや名付けたベクトル。NULL
col_lab色伝説のタイトル。NAに設定すると色伝説を削除する。NULL
symbol_lab点記号の伝説のタイトル。NAに設定すると点記号伝説を削除する。NULL
size_labサイズ伝説のタイトル。NAに設定するとサイズ伝説を削除する。NULL
key_var行IDのベクトル(データが NULL の場合)。Shinyアプリケーションで表示される行がインタラクティブにフィルターされた場合にのみ使用される。NULL
type_var点のタイプ:「point」はデフォルトのドット、「arrow」は起点から始まる矢印。NULL
opacity_var点の不透明度(0〜1の値)。NULL
unit_circle図形の半径を指定FALSE
url_varクリックされた点で開くURLのリストNULL
tooltipsポイント上でのツールチップ表示を指定TRUE
tooltip_textツールチップのテキストNULL
tooltip_positionツールチップの位置を指定 (ヘルプ参照)“bottom right”
xlabx軸のラベルNULL
ylaby軸のラベルNULL
html_idSVGのrootノードに付けるIDを指定NULL
width図形の幅を指定NULL
height図形の高さを指定NULL
legend_width図の伝説領域の幅を指定します。150
left_marginプロットの左側の余白を指定します。30
xlimx軸の制限値を指定します。NULL
ylimy軸の制限値を指定します。NULL
dom_id_reset_zoomリセットズームコントロールを結びつける要素のIDを指定します。“scatterD3-reset-zoom”
dom_id_svg_exportSVGエクスポートコントロールを結びつける要素のIDを指定します。“scatterD3-svg-export”
dom_id_lasso_toggleトグルラッソコントロールを結びつける要素のIDを指定します。“scatterD3-lasso-toggle”
transitionsデータ更新を滑らかに表示するかどうかを指定します。FALSE
menuツールメニューを表示するかどうかを指定します。TRUE
lassoラッソ選択機能を有効にするかどうかを指定します。FALSE
lasso_callback選択肢を指定するための関数体NULL
click_callbackクリックされた要素のインデックスとHTML IDを指定する関数体NULL
init_callback初期化時点での散布図オブジェクトに適用される関数体NULL
zoom_callbackズームアクション後、新しい境界値を指定する関数体NULL
zoom_onプロットの描画や更新時に中心となる座標を指定するNULL
zoom_on_levelプロットの描画や更新時のズームレベルを指定する (NULL時は無視)NULL
disable_wheelマウスホイールによるズームを無効化するかどうかを指定するFALSE
lines散布図に追加する線分のデータフレームを指定する (スロープ、切片、行数が必要)data.frame(slope = c(0, Inf), intercept = c(0, 0), stroke_dasharray = c(5, 5))
axes_font_size軸のテキストサイズを指定する (CSS互換値)“100%”
legend_font_sizeレジェンドのテキストサイズを指定する (CSS互換値)“100%”
captionアイコンをクリックした際に表示されるキャプション。NULL
# 散布図の作成
scatterD3(x = mtcars$wt, y = mtcars$mpg, data=NULL, lab = rownames(mtcars),
          col_var = mtcars$cyl, symbol_var = mtcars$am,
          xlab = "Weight", ylab = "Mpg", col_lab = "Cylinders",
          symbol_lab = "Manual transmission", html_id = NULL)

・実行結果:上記コマンドの実行でインタラクティブな操作が可能です。


この記事が誰かの役に立ちますように。

スポンサーリンク
価格および配送状況は変更される場合があります。購入時は商品ページをご確認ください。
当サイトに表示されている商品情報はAmazonから提供されたものであり、更新または削除される場合があります。
karada-goodはAmazonアソシエイトとして、適格販売により収入を得ています。