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