CSVやExcelデータからバイオリンプロットを作成する方法
2026/08/31

CSVやExcelデータからバイオリンプロットを作成する方法

プログラミング不要でCSVやExcelからバイオリンプロットを作成。グループ列と数値列の構成、カーネル密度推定の設定、生データのプロット表示、SciVisでの図の編集方法を解説します。

バイオリンプロットは、データの裏付けが不十分な場合であっても、一見すると説得力があるように見えてしまうことがあります。サンプルサイズが極めて小さいグループが滑らかな美しい形状に引き伸ばされてしまったり、バイオリンの幅の広さがサンプル数の多さと誤解されたり、不適切なバンド幅(帯域幅)の設定によって本来存在するはずの二峰性が隠されてしまったりすることがあります。作図を始める前に、中央値だけでなく「分布の形状」そのものが研究の結論において本質的であるかどうかを検討してください。

SciDrawの Violin Plot Maker を使用すると、構造化されたデータファイルから素早く初期プロットを作成し、そのまま SciVis に移行して視覚的なブラッシュアップを行うことができます。用意されている六つのサンプルには、ダウンロード可能な実際のCSVデータ構造が使用されているため、ご自身のデータを流し込む前に、どのような列構成が必要であるかを事前に確認できます。

ミラーリングされた密度曲線と内部の要約統計量を備えた単一のバイオリンプロット

バイオリンプロットでよくある間違い

  • プロットの「幅」をサンプルサイズと誤認する: 通常、バイオリンの幅は推定された確率密度を表しており、観察数の多さを直接示すものではありません。
  • 極めて小さなグループにバイオリンを適用する: 観察数が少ない場合は、生データをドットプロットとして重ねて表示するか、ボックスプロット(箱ひげ図)などの代替表現を検討してください。
  • バンド幅の設定を隠す: スムージング(平滑化)の度合いによって、ピーク(山)の数や位置の見え方は大きく変化します。
  • 異なるスケールを比較する: すべてのグループは、同一の測定スケールおよびデータ変換基準を共有している必要があります。
  • 密度曲線のみを表示する: 読者が形状を正しく解釈できるよう、中央値、四分位範囲、ボックス、または生データのプロットを併記することが推奨されます。

バイオリンプロットに必要なデータ構造

1行に1つの観察データを配置する「ロングフォーマット(整然データ)」を使用します。最もシンプルな構成は以下の通りです。

列名役割入力例
sample_id一意のサンプル識別子Control_01
group軸上に表示されるカテゴリControl
value測定された数値データ42.58

具体的なデータ構造を確認するには、単一バイオリン用のサンプルCSV または 複数グループ用のサンプルCSV をダウンロードしてご参照ください。単位は数値セル内には入力せず、軸ラベルや列名に記載してください。

ステップ 1: 比較目的に適したプロットを選択する

Violin Plot Maker を開きます。単一の測定値を検証する場合は1つの分布表示から始め、治療群、コホート、組織、タイムポイント、実験条件などを比較する場合はグループ化されたバイオリンプロットを選択します。左右非対称の「スプリット(分割)バイオリン」は、二つのサブグループが共通の軸カテゴリを共有しており、左右を直接対比させることに明確な意味がある場合にのみ適しています。

ステップ 2: CSVまたはExcelデータのアップロード

CSV、TSV、TXT、XLSX、XLSのいずれかのファイルをアップロードします。Excelファイルの場合は、最初のワークシートがインポートされます。結合されたセル、合計行、注記、装飾的なヘッダーなどは、アップロード前にあらかじめ削除しておいてください。欠損値は、自動的に変換されるのを防ぐため、空白のまま(欠損状態を維持)にしてください。

ステップ 3: プロットの生成と検証

すべてのカテゴリが正しくプロットされ、描画範囲が元のデータと一致しているか確認します。バイオリンの最も太い部分は、推定密度が最も高い場所を示しています。細く伸びた裾野(テール)は、その領域の観察数が比較的少ないことを示しているに過ぎず、稀少な生物学的サブポピュレーションがそこに存在することを証明するものではありません。

複数の実験条件を比較するグループ化されたバイオリンプロット

もし研究の結論が、肩部(ショルダー)、副ピーク、あるいは長い裾野の存在に依存している場合は、必ずバイオリンプロットを生データの分布と照らし合わせて検証してください。バンド幅のわずかな変更によって、これらの特徴の見え方は大きく変化します。

ステップ 4: 生データと要約統計量の追加

SciVisでの編集を続け、ジッター(散布)させた生データ点、内部のボックスプロット、中央値のマーカー、あるいは控えめなアノテーションを追加します。生データのプロットは、サンプルサイズやデータの群生具合を直接示すことができるため、特にサンプルサイズが小さいグループや、グループ間でデータ数に偏りがある場合に極めて有効です。

生データの観察点がオーバーレイされたバイオリンプロット

配色は単なる装飾ではなく、意味のあるグループ分けを区別するために使用します。また、プロットの不透明度は、バイオリンの輪郭をはっきりと識別できつつ、重なり合う生データ点も十分に視認できる適切なバランスに調整してください。もしデータが対応のある(ペアの)関係である場合は、独立性を前提とするバイオリンプロットではなく、Paired Dot Plot Maker の使用を検討してください。

バイオリンプロットの解釈方法

図を以下のレイヤーに分けて読み解きます。

  1. 中央値またはデータの中心的な塊の位置を比較する。
  2. 共通のスケール上で、データの広がり(分散)と裾野の挙動を比較する。
  3. データの歪み(スキュー)や、複数の高密度領域(マルチモーダル)が存在するか確認する。
  4. 生データのプロット数とその配置を確認する。
  5. 統計的な主張を行う際は、プロットの形状だけに頼らず、必ず適切な統計解析によって検証する。

バイオリンプロットはあくまで記述的な表現手法です。グループ間に有意差があるかどうかを検定するものではなく、データが正規分布に従っていることを証明するものでもありません。

バイオリンプロット、ボックスプロット、それとも密度プロット?

  • バイオリンプロットは、簡潔な要約統計量とともに、複数の分布形状を横並びで比較したい場合に使用します。
  • ボックスプロット(箱ひげ図)は、詳細な密度形状よりも、四分位数や外れ値の特定が重要な場合に使用します。
  • 密度プロットは、滑らかな曲線同士を重ね合わせることで、分布の比較をよりクリアに見せたい場合に使用します。
  • ビースウォームプロットは、密度推定を行わずに、すべての観察データを個別の点として可視化したい場合に使用します。

よくある質問(FAQ)

PythonやRのコードを書かずにバイオリンプロットを作成できますか?

はい、可能です。対応するデータファイルを Violin Plot Maker にアップロードするだけで、プログラミングを行うことなくチャートを生成し、SciVis上で直感的に編集・出力できます。

各バイオリンには最低限どのくらいのサンプルサイズが必要ですか?

万能な基準値はありません。ただし、サンプルサイズが極めて小さい場合、カーネル密度推定は不安定になります。データ数が少ないときは必ず生データを重ねて表示し、微細な形状の違いを過剰に解釈しないよう注意してください。

グループ間でサンプルサイズが異なっていても使用できますか?

使用できますが、各グループのサンプルサイズ(N数)を明記するか、図中にプロットしてください。通常のバイオリンプロットの幅は、各グループの絶対的なデータ数を自動的に反映するわけではありません。

バイオリンプロットで二峰性(山が二つあること)が示されれば、その分布は二峰性であると証明できますか?

いいえ。二つ目の膨らみは、設定したバンド幅やサンプルサイズに依存して現れることがあります。二峰性を主張する前に、必ず生の観察データを確認し、適切な統計的アプローチやドメイン知識に基づいた検証を行ってください。

図を作成する

まずは Violin Plot Maker でプロットを作成し、生データと照らし合わせて密度推定の妥当性を検証してください。他のチャートスタイルとの比較や選択に迷った際は、学術データ可視化ガイド も参考にしてください。

AIで研究図をつくろう

数千人の研究者が SciDraw AI を使い、論文・研究費申請・ジャーナル投稿向けの図を数分で作成しています。デザインの経験は不要です。