2017年7月25日火曜日

開発環境

Python(SymPy、matplotlib、matplotlib-venn)だと、集合のベン図とその共通部分等の面積(1要素あたりの面積は等しいと仮定)の比率がどんな感じになるのか試して見た。

スマホ + PC のパーセンテージが39ではなく40なのは、100%にピタッと一致しないのがなんとなくモヤモヤしたから。

コード(Emacs)

Python 3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from matplotlib_venn import venn2
import matplotlib.pyplot as plt

from sympy import FiniteSet


s1 = FiniteSet(*range(6, 100))
s2 = FiniteSet(*range(46))

venn2(subsets=[s1, s2], set_labels=('Smart phone', 'PC'))
plt.savefig('sample11.svg')

入出力結果(Terminal, IPython)

$ ./sample11.py
$

LINEの図より、Haruhiko Okumura さんの図に近い気がする。

ということで、Python、SymPy、matplotlib、matplotlib-venn の組み合わせは、集合の共通部分も含めて、ベン図を面積比を反映して描いてくれるのかも。

0 コメント:

コメントを投稿