開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の5章(集合と確率を操作する)、5.4(プログラミングチャレンジ)、問題5-1(ベン図を使って集合の関係を可視化する)を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3
from matplotlib_venn import venn2
import matplotlib.pyplot as plt
from sympy import FiniteSet
import csv
def draw_venn(sets, labels, filename):
venn2(subsets=sets, set_labels=labels)
plt.savefig(filename)
def read_csv(filename):
football = []
others = []
with open(filename) as f:
reader = csv.reader(f)
next(reader)
for row in reader:
if row[1] == '1':
football.append(row[0])
if row[2] == '1':
others.append(row[0])
return football, others
if __name__ == '__main__':
filename = 'sports.csv'
data = read_csv(filename)
draw_venn([set(l) for l in data], ['Football', 'Others'],
filename.replace('csv', 'svg'), )
入出力結果(Terminal, Jupyter(IPython))
$ ./sample1.py $
0 コメント:
コメントを投稿