【要約】Plotnine [Hacker_News] | Summary by TechDistill
> Source: Hacker_News
Execute Primary Source
// Discussion Topic
Plotnineは、データの視覚化に「グラフィックスの文法」という概念を持ち込むライブラリである。本スレッドでは、その設計がPythonのエコシステムにおいてどのように受け入れられるべきかが議論されている。
- ・「グラフィックスの文法」がもたらす、高度な可視化能力の有用性。
- ・Pythonにおける
from plotnine import *という記述の是非。 - ・
+演算子を用いたプロット構成の設計判断。 - ・ライブラリの成熟度(2017年リリースであり、決して新しくはない点)。
// Community Consensus
議論は、ライブラリの有用性を認めつつも、その実装スタイルに対して賛否が分かれる形となっている。Rの強力な概念をPythonで再現しようとする試みに対し、エンジニアリングの観点から鋭い指摘がなされている。
【賛成・肯定的な意見】
【賛成・肯定的な意見】
- ・「グラフィックスの文法」を理解すれば、可視化の生産性が劇的に向上する。
- ・Rのggplot2に慣れたユーザーにとって、学習コストが低く使いやすい。
- ・
import *は名前空間を汚染するアンチパターンである。 - ・
+演算子のオーバーロードは、Pythonの慣習から外れている。 - ・Pythonでのファイル操作や実行環境が、Rに比べて「重い」と感じる場合がある。
// Alternative Solutions
Plotnineと同様に、グラフィックスの文法に基づいた柔軟なチャート構成が可能なライブラリとして、以下が挙げられている。
- ・Altair
// Technical Terms
Senior Engineer Insight
> Plotnineは、データサイエンスに特化した「道具」としては極めて強力だ。しかし、汎用的なソフトウェア開発の文脈では、名前空間の汚染や非Python的な構文が、コードの可読性と保守性を損なうリスクがある。我々の現場に導入する場合、データ分析チームのR習熟度を考慮しつつ、
import * の禁止や、Linterによる厳格な規約適用をセットで行うべきだ。単なる可視化ツールとしてではなく、チームのコーディング規約との整合性を評価の軸に置く必要がある。