CSVやExcelデータからカーネル密度プロットを作成する方法
2026/08/31

CSVやExcelデータからカーネル密度プロットを作成する方法

プログラミング不要でCSVやExcelデータからカーネル密度プロットを作成。グループ列や数値列の準備、平滑化パラメータの調整、分布の比較、SciVisでの編集手順を解説します。

滑らかな密度曲線は、データの真の姿を伝える一方で、重要な情報を覆い隠してしまうリスクも孕んでいます。平滑化(スムージング)が強すぎると、本来分かれているはずのサブポピュレーション(部分母集団)が統合されてしまい、逆に弱すぎると、サンプリングノイズが人工的なピーク(山)として現れてしまいます。学術論文に耐えうる信頼性の高い密度プロットを作成するには、正確な観測データを用意することに加え、描画された分布の形状が安定しているかを明示的に検証する必要があります。

SciDrawの Density Plot Maker を使用すれば、CSVやExcelの表データからカーネル密度推定(KDE)プロットを瞬時に作成し、そのまま SciVis で詳細な編集を行うことができます。用意されているサンプルデータセット(単一分布、グループ比較、歪んだ分布、二峰性分布、ヒストグラム重ね合わせ、リッジライン風分布など)を活用して、すぐに作成を始められます。

塗りつぶしを適用した単一のカーネル密度推定プロット

密度プロット作成における代表的な誤り

  • 密度を頻度(カウント数)と混同する: y軸は推定された「確率密度」を示しています。曲線の下の総面積が通常「一」になるように正規化されます。
  • バンド幅(Bandwidth)の検証を怠る: バンド幅は曲線の滑らかさを制御するパラメータであり、設定次第で分布の山の数が変わって見えてしまいます。
  • 異なるスケールのグループを不用意に比較する: データの変換処理や単位は、比較するグループ間で統一されている必要があります。
  • 少なすぎるデータに適用する: 滑らかな曲線を描くと、実際のサンプルサイズ(データ数)以上に十分な根拠があるかのような誤解を読者に与えることがあります。
  • 分布の裾(テール)を切り捨てる: x軸の表示範囲を狭めすぎると、極端値や臨床的に極めて重要な観測値が隠れてしまう原因になります。

密度プロットに必要なデータ形式

1行に1つの観測値を配置する「ロングフォーマット(縦型)」の表データを作成します。

列名役割データの具体例
sample_id観測値の識別子Control_01
group比較用のグループ名(任意)Control
value測定された数値データ38.92

実際のデータ構成は、単一密度プロット用CSV や グループ比較用CSV を参考にしてください。単位などの文字列は数値セルには含めず、欠損値は一貫したルールで処理しておきます。

ステップ 1: 平滑化(スムージング)が適切か判断する

密度プロットは、分布の形状を推定するのに十分なサンプルサイズを持つ連続値データに最も適しています。とりうる値が限られている離散的なカウントデータの場合は、ヒストグラムや経験累積分布関数(ECDF)、ドットプロットを選択する方が誠実な表現になります。サンプルサイズが小さい場合は、生のデータポイントを重ねて描画するか、Beeswarm Plot Maker の使用を検討してください。

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

Density Plot Maker を開き、サンプルデータを選択するか、手元のCSV、TSV、TXT、XLSX、XLSファイルをアップロードします。Excelファイルの場合は、最初のワークシートが自動的に読み込まれます。測定値の列が正しく数値として認識されていること、またグループ名に表記揺れがないことを確認してください。

ステップ 3: バンド幅の生成と検証

初期設定で描画される曲線は、あくまで初期の推定値であり、真の分布を証明するものではありません。バンド幅を少し狭めた場合と広げた場合の両方でプロットを出力し、比較検証を行ってください。主要な構造(分布の骨格)はどの設定でも維持されるべきであり、特定の極端なバンド幅設定でのみ現れるような山(ピーク)を根拠に結論を導き出してはいけません。

実験グループを比較するために重ね合わされた密度曲線

複数の曲線が重なり合う場合は、半透明の塗りつぶしを適用するか、明確に区別できる輪郭線を使用します。図が煩雑になるのを防ぐため、重ね合わせるグループ数は適切に抑え、色覚多様性に配慮して色だけに頼らないデザイン(線のスタイルを変えるなど)を意識してください。

ステップ 4: SciVisで文脈情報を追加する

プロットが生成されたら、編集画面で軸タイトル、グループラベル、配色、アノテーション、レイアウトを調整します。ラグプロット(x軸上の目盛り状のプロット)やヒストグラムを重ねて表示することで、実際のデータポイントがどこに存在しているかを読者に示すことができ、平滑化によるアーティファクト(偽のピーク)と、十分に裏付けられた真のピークとを区別しやすくなります。

実際の観測値のヒストグラムの上に重ね合わされた密度曲線

対数変換などのデータ処理を行った場合は必ず図中やキャプションに明記し、不適切な測定値の除外は、グラフエディタ上で都合の悪い点を消すのではなく、再現可能なデータクリーニングの段階で行うようにしてください。

密度プロットの読み方・解釈

x軸は測定された値を表し、曲線の高さはその値の周辺における観測値の相対的な集中度(確率密度)を示します。各グループの代表値(位置)、ばらつき(広がり)、歪度(非対称性)、そして裾(テール)の形状を比較します。密度曲線は全体で正規化されているため、2つの曲線のピークの高さが同じであっても、それぞれのサンプルサイズが等しいとは限らない点に注意してください。

特定のx値の範囲における面積が、その範囲にデータが存在する推定割合を表すのは、密度が正しく正規化され、モデルの仮定が適切である場合に限られます。

密度プロット、ヒストグラム、ECDF、バイオリンプロットの使い分け

  • 実際の階級ごとの度数(カウント数)を正確に示したい場合は、 Histogram Maker を使用します。
  • バンド幅の選択による主観を排除し、分布全体を客観的に見せたい場合は、 ECDF Plot Generator を使用します。
  • 多数のグループの分布をコンパクトに並べて比較したい場合は、 Violin Plot Maker を使用します。
  • 滑らかな分布形状の比較や、複数のグループを重ね合わせて視覚的に対比させたい場合は、密度プロットが最適です。

よくある質問(FAQ)

PythonやRのコードを書かずに密度プロットを作成できますか?

はい、可能です。データを Density Plot Maker にアップロードするだけで、自動的にプロットが生成され、SciVis上で直感的にデザインを調整できます。

y軸は何を意味していますか?

y軸は「確率密度」を示しており、サンプル数そのものではありません。x軸の範囲が狭い場合、密度の値が「一」を超えることもあります。重要なのは、正規化された曲線の下の「面積」です。

バンド幅はどのように決定すべきですか?

まずは自動設定される初期値を基準とし、その前後の値を試しながら、ノイズに惑わされずにデータの安定した構造を最もよく表現できる設定を選択してください。分布の形状が論文の主要な主張に関わる場合は、採用したバンド幅の決定方法を明記してください。

グループ間でサンプルサイズが大きく異なる場合でも比較できますか?

はい。正規化された曲線同士であれば分布の形状を比較できます。ただし、サンプルサイズの違いそのものは視覚的に隠されてしまうため、各グループのサンプルサイズを明記するか、生のデータポイント(ラグプロットなど)を併記して文脈を補うことが推奨されます。

図を作成する

まずは Density Plot Maker にデータを読み込み、実際のデータ分布と滑らかな曲線が乖離していないか検証しましょう。平滑化による表現が適さないと判断した場合は、 学術データ可視化ガイド を参考に、最適な代替手法を選択してください。

AIで研究図をつくろう

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