70 lines
2.6 KiB
Python
70 lines
2.6 KiB
Python
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
from IPython import embed
|
|
# plt.xkcd()
|
|
|
|
x = np.random.randn(1000000)
|
|
|
|
fig = plt.figure()
|
|
ax1 = plt.subplot2grid((2,2), (0, 0))
|
|
ax1.hist(x, bins=np.arange(-4,4.1, 0.1), fc='dodgerblue', lw=None, ec=None )
|
|
ax1.set_xlim(-3, 3)
|
|
#ax1.set_xlabel("x", fontsize=9)
|
|
ax1.set_ylabel("#", fontsize=9)
|
|
ax1.spines["top"].set_visible(False)
|
|
ax1.spines["right"].set_visible(False)
|
|
ax1.set_xticks(range(-4, 5, 1))
|
|
ax1.text(-3, ax1.get_ylim()[1], "x = randn(n, 1)", fontsize=8, color="dodgerblue")
|
|
ax1.set_yticklabels([])
|
|
ax1.set_xticklabels([])
|
|
ax1.text(-5.5, 1.025*ax1.get_ylim()[1], "A", fontsize=12)
|
|
|
|
ax2 = plt.subplot2grid((2,2), (0, 1))
|
|
ax2.hist(x[x < 0.0], bins=np.arange(-4,4.1, 0.1), fc='red', lw=None, ec=None)
|
|
ax2.hist(x[x > 0.0], bins=np.arange(-4,4.1, 0.1), fc='orange', lw=None, ec=None)
|
|
ax2.set_xlim(-3, 3)
|
|
#ax2.set_xlabel("x", fontsize=9)
|
|
ax2.set_ylabel("#", fontsize=9)
|
|
ax2.spines["top"].set_visible(False)
|
|
ax2.spines["right"].set_visible(False)
|
|
ax2.text(-2, ax2.get_ylim()[1], "x < 0.0", fontsize=8, color="red", ha="center")
|
|
ax2.text(2, ax2.get_ylim()[1], "x > 0.0", fontsize=8, color="orange", ha="center")
|
|
ax2.set_xticks(range(-4, 5, 1))
|
|
ax2.set_yticklabels([])
|
|
ax2.set_xticklabels([])
|
|
ax2.text(-5.5, 1.025*ax2.get_ylim()[1], "B", fontsize=12)
|
|
|
|
ax3 = plt.subplot2grid((2,2), (1, 0))
|
|
ax3.hist(x[(x > -0.5) & (x < 0.5)], bins=np.arange(-4,4.1, 0.1), fc='red', lw=None, ec=None)
|
|
ax3.hist(x[(x < -0.5) | (x > 0.5)], bins=np.arange(-4,4.1, 0.1), fc='dodgerblue', lw=None, ec=None)
|
|
ax3.set_xlim(-3, 3)
|
|
ax3.set_xlabel("x", fontsize=9)
|
|
ax3.set_ylabel("#", fontsize=9)
|
|
ax3.spines["top"].set_visible(False)
|
|
ax3.spines["right"].set_visible(False)
|
|
ax3.text(0, ax3.get_ylim()[1], "x > -0.5 & x < 0.5", fontsize=8, color="red", ha="center")
|
|
ax3.set_xticks(range(-4, 5, 1))
|
|
ax3.set_yticklabels([])
|
|
ax3.text(-5.5, 1.025*ax3.get_ylim()[1], "C", fontsize=12)
|
|
|
|
ax4 = plt.subplot2grid((2,2), (1, 1))
|
|
ax4.hist(x[(x >= -1.2) & (x <= 1.2)], bins=np.arange(-4,4.1, 0.1), fc='dodgerblue',
|
|
lw=None, ec=None)
|
|
ax4.hist(x[(x < -1.2) | (x > 1.2)], bins=np.arange(-4,4.1, 0.1), fc='red',
|
|
lw=None, ec=None)
|
|
ax4.set_xlim(-3, 3)
|
|
ax4.set_xlabel("x", fontsize=9)
|
|
ax4.set_ylabel("#", fontsize=9)
|
|
ax4.spines["top"].set_visible(False)
|
|
ax4.spines["right"].set_visible(False)
|
|
ax4.text(0, ax4.get_ylim()[1], "x > -1.25 | x > 1.25", fontsize=8, color="red", ha="center")
|
|
ax4.set_xticks(range(-4, 5, 1))
|
|
ax4.set_yticklabels([])
|
|
ax4.text(-5.5, 1.025*ax4.get_ylim()[1], "D", fontsize=12)
|
|
|
|
fig.set_size_inches(3.5, 3.5)
|
|
fig.subplots_adjust(left=0.1, right=0.975, top=0.95, bottom=0.12, hspace=0.3)
|
|
fig.savefig("logical_operations.pdf")
|
|
plt.close()
|
|
|