HN 日本語サマリー

← 一覧へ戻る
プログラミング

Plotnine

Plotnine (plotnine.org)

12 pointsby tosh7 コメント

要約

Plotnineは、ggplot2に似た「グラフィックの文法」に基づいたPython用のデータ可視化パッケージです。アドホックなプロットから出版品質の図まで、少ないコードで柔軟に作成できます。本記事では、アンスコムのカルテットの可視化を例に、Plotnineの主要な機能とワークフローを紹介しています。

全文翻訳

アドホックなプロットから出版品質の図まで。グラフィックの文法を使ってデータを美しい可視化に変えましょう。始める APIリファレンス チートシート Pythonのためのグラフィックの文法 Plotnineは、グラフを記述し構築するための首尾一貫したシステムである「グラフィックの文法」に基づいたPython用のデータ可視化パッケージです。その構文は、広く成功しているRパッケージであるggplot2に似ています。 Plotnineの機能を探索し、アンスコムのカルテット—異なる分布を持つが、記述統計がほぼ同一である4つの小さなデータセット—を可視化することで、典型的なワークフローを見ていきましょう。これらは、データを可視化する最も良い議論となるでしょう。最終結果は右下の図で確認できます。Plotnineを使えば、たった1行のコードでアドホックなプロットを素早く作成できます。 ```python from plotnine import * from plotnine.data import anscombe_quartet ggplot(anscombe_quartet, aes(x="x", y="y")) + geom_point() ``` 私たちのデータには2つの連続変数が含まれているため、まずは基本的な散布図から始めましょう。これだけではまだあまり意味がありません。4つのデータセットを区別する方法が必要です。賢明なデフォルト設定 凡例、ラベル、目盛り、カラーパレット。多くの要素はデータに基づいて自動的に追加されます。 ```python ( ggplot(anscombe_quartet, aes("x", "y", color="dataset")) + geom_point() ) ``` 各点を所属するデータセットに応じて色付けすることで、プロットには自動的に凡例が追加されます。色も自動的に選択されます。しかし、心配はいりません。後で見るように、すべて調整可能です。まだかなり乱雑なので、別のアプローチを試してみましょう。宣言的にサブセット化 forループを書かずに、任意のデータ可視化を複数のパネルにわたって繰り返すことができます。 ```python ( ggplot(anscombe_quartet, aes("x", "y", color="dataset")) + geom_point() + facet_wrap("dataset") ) ``` これで良くなりました。パネルがあることで色の使用が冗長になるため、これを修正する必要があります。可視化にはレイヤーがあります データと列のマッピングは継承されますが、レイヤーごとに変更できます。 ```python ( ggplot(anscombe_quartet, aes("x", "y", color="dataset")) + geom_point() + geom_smooth(method="lm", se=False, fullrange=True) + facet_wrap("dataset") ) ``` トレンドライン付きのこれらの散布図は、アンスコムの指摘—異なる分布を持つデータセットでも同じ記述統計を持つことができる—を明確に裏付けています。探索的データ分析を行っている場合、このプロットで十分かもしれません。しかし、これを公開したい場合は、さらにカスタマイズしたいと思うかもしれません。あらゆるデフォルトを上書きする 見えるものは何でも調整できます。 ```python ( ggplot(anscombe_quartet, aes("x", "y")) + geom_point(color="sienna", fill="darkorange", size=3) + geom_smooth(method="lm", se=False, fullrange=True, color="steelblue", size=1) + facet_wrap("dataset") + scale_y_continuous(breaks=(4, 8, 12)) + coord_fixed(xlim=(3, 22), ylim=(2, 14)) + labs(title="Anscombe’s Quartet") ) ``` ここでは、サイズと色を変更し、目盛りを改善し、タイトルを追加しています。Plotnineはさらに進化します 最後に、個人のスタイルや組織のブランドに合わせてテーマをカスタマイズします。 ```python ( ggplot(anscombe_quartet, aes("x", "y")) + geom_point(color="sienna", fill="orange", size=3) + geom_smooth(method="lm", se=False, fullrange=True, color="steelblue", size=1) + facet_wrap("dataset") + labs(title="Anscombe’s Quartet") + scale_y_continuous(breaks=(4, 8, 12)) + coord_fixed(xlim=(3, 22), ylim=(2, 14)) + theme_tufte(base_family="Futura", base_size=16) + theme( axis_line=element_line(color="#4d4d4d"), axis_ticks_major=element_line(color="#00000000"), axis_title=element_blank(), panel_spacing=0.09, ) ) ``` ご覧のように、たった1行のコードから始め、データ可視化を段階的に改善し、カスタマイズしました。ご自身のデータでこのような可視化を作成する方法にご興味がありますか?次のセクションでは、Plotnineのインストール方法を説明します。次へ: インストール リンク PyPIで表示 ソースコード ライセンス 開発者 Hassan Kibirige 資金提供 The Open Source Data Science Company