Created gh-images branch for storing images
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import matplotlib
|
||||
matplotlib.use('SVG')
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.gridspec as gridspec
|
||||
import numpy as np
|
||||
|
||||
matplotlib.rc('font', family='sans-serif', size=11)
|
||||
matplotlib.rc('axes', titlesize='medium', labelsize='medium')
|
||||
matplotlib.rc('xtick', labelsize='small')
|
||||
matplotlib.rc('ytick', labelsize='small')
|
||||
|
||||
np.random.seed(map(ord, "hello"))
|
||||
|
||||
gs = gridspec.GridSpec(nrows=2, ncols=2, height_ratios=[1, 2],
|
||||
wspace=0.25, hspace=0.25)
|
||||
|
||||
fig = plt.figure(figsize=(7, 5.5))
|
||||
ax1 = fig.add_subplot(gs[0, 0])
|
||||
ax2 = fig.add_subplot(gs[0, 1], sharex=ax1, sharey=ax1)
|
||||
ax3 = fig.add_subplot(gs[1, :])
|
||||
|
||||
# Convolution (I think?) of two types of uniform distributions under modulo
|
||||
w1 = np.random.randint(0, 100, 30)
|
||||
w2 = np.arange(0, 30, 1)
|
||||
w3 = np.array([w2 + i for i in w1]).flatten() % 100
|
||||
|
||||
ax1.hist(w1, bins=100, range=(0,100), histtype='stepfilled')
|
||||
ax2.hist(w2, bins=100, range=(0,100), histtype='stepfilled')
|
||||
ax3.hist(w3, bins=100, range=(0,100), histtype='stepfilled')
|
||||
|
||||
ax1.set_title('Random offset')
|
||||
ax2.set_title('Linear allocation')
|
||||
ax3.set_title('Cumulative allocation')
|
||||
|
||||
ax1.set_ylabel('wear')
|
||||
ax1.set_yticks(np.arange(0, 3))
|
||||
ax3.set_ylabel('wear')
|
||||
ax3.set_xlabel('block address')
|
||||
|
||||
for ax in [ax1,ax2,ax3]:
|
||||
ax.set_xlim(0, 100)
|
||||
ax.set_xticklabels([])
|
||||
ax.set_yticklabels([])
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
|
||||
ax1.text(109.25, 1, '$\\ast$')
|
||||
|
||||
fig.tight_layout()
|
||||
plt.savefig('wear-distribution.svg', bbox_inches="tight")
|
||||
Reference in New Issue
Block a user