#!/usr/bin/env python from pylab import * import sys def line(x, y, **args): '''line between two points x,y''' plot([x[0], y[0]], [x[1], y[1]], **args) plt.rcParams['font.size'] = 30 w = loadtxt(sys.stdin, max_rows=2) v = array([[0, -1], [1, 0]]) @ w cut = float(input()) n, m, d = map(int, input().split()) data = loadtxt(sys.stdin).reshape(n + m, d) signal, noise = data[:n].T, data[n:].T figure() subplot(aspect='equal') scatter(*signal, edgecolor='#51492d', c='#dbbb4a', label='signal') scatter(*noise, edgecolor='#512d3d', c='#d64d88', label='noise') line(-20*w, 20*w, c='xkcd:blue', label='projection') line(w-10*v, w+10*v, c='xkcd:red', label='cut') xlim(-1.5, 8) ylim(-1.5, 8) figure() sig_proj = np.dot(w, signal) noise_proj = np.dot(w, noise) hist(sig_proj, color='#dbbb4a') hist(noise_proj, color='#d64d88') axvline(cut, c='r') show()