import numpy as np
import matplotlib.pyplot as plt

outcome_0 = np.array([1.0, 0.0])
outcome_1 = np.array([0.0, 1.0])
a = 0.75
b = 0.25

assert a + b == 1

prob_bit = a * outcome_0 + b * outcome_1

X, Y = prob_bit

plt.figure(figsize=(5,5))
plt.plot([a, 0], [b, b], '--', color='orange')
plt.plot([a, a], [b, 0], '--', color='green')

ax = plt.gca()
ax.quiver(X, Y, angles='xy', scale_units='xy', scale=1)
ax.set_xlim([0,1])
ax.set_ylim([0,1])

ax.quiver(0, Y, angles='xy', scale_units='xy', scale=1, color='green',
          label='Проекция на направление $\overrightarrow{1}$')
ax.quiver(X, 0, angles='xy', scale_units='xy', scale=1, color='orange',
          label='Проекция на направление $\overrightarrow{0}$')

plt.xlabel('$\overrightarrow{0}$', fontsize=15)
plt.ylabel('$\overrightarrow{1}$', fontsize=15)
plt.title('$\overrightarrow{v} = {a}\cdot\overrightarrow{0} + {b}\cdot\overrightarrow{1}$'.format(0, 1, v='v',
                                                                                                  a=a, b=b))

plt.legend()

plt.draw()
plt.show()

print("Получаем, что a={}".format(prob_bit.dot(outcome_0)))
print("Получаем, что b={}".format(prob_bit.dot(outcome_1)))