開発環境
- 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 コメント:
コメントを投稿