In [ ]:
import matplotlib
%matplotlib inline
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.patches as mpatches
from sklearn.decomposition import PCA
In [53]:
sns.set_context('talk')
sns.set_style('white')
pd.options.mode.chained_assignment = None # default='warn'
In [25]:
with open("4strains.prof") as f:
next(f)
lines = f.readlines()
ideal = lines[:4]
ideal = [list(map(float, s.split()[1:-1])) for s in ideal]
print(ideal)
we = lines[4:8]
we = [list(map(float, s.split()[1:-1])) for s in we]
print(we)
In [92]:
from matplotlib import pyplot as plt
import numpy as np
cmap = plt.cm.Dark2
X = [0, 1]
X_names = ["real", "we"]
f, (ax1, ax2, ax3, ax4, ax5, ax6, ax7, ax8, ax9, ax10, ax11) = plt.subplots(1, 11, figsize=(27,7.5), sharey=True)
axs = [ax1, ax2, ax3, ax4, ax5, ax6, ax7, ax8, ax9, ax10, ax11]
error = 0
for i in range(len(axs)):
data1 = [ideal[0][i], we[0][i]]
data2 = [ideal[1][i], we[1][i]]
data3 = [ideal[2][i], we[2][i]]
data4 = [ideal[3][i], we[3][i]]
error += abs(data1[0]-data1[1]) + abs(data2[0]-data2[1]) + abs(data3[0]-data3[1]) + abs(data4[0]-data4[1])
if i == 0:
axs[i].set_ylabel("frequencies")
axs[i].bar(X, data1, label='EDL', alpha=0.7, color=cmap(0.2))
axs[i].bar(X, data2, bottom=data1, label='K12', alpha=0.7, color=cmap(0.3))
axs[i].bar(X, data3, bottom=np.array(data1)+np.array(data2), label='TW', alpha=0.7, color=cmap(0.4))
axs[i].bar(X, data4, bottom=np.array(data1)+np.array(data2)+np.array(data3),
label='IAI39', alpha=0.7, color=cmap(0.6))
plt.sca(axs[i])
plt.xticks(X, X_names)
plt.title("sample %s" % (i+1))
if i == 10:
plt.legend(loc = (0, -0.3))
plt.show()
In [76]:
round(error/(11*4),2)
Out[76]:
In [58]:
cmap[0]
In [ ]:
In [1]:
with open("infant_gut.prof") as f:
next(f)
lines = f.readlines()
ideal = lines[:4]
ideal = [list(map(float, s.split()[1:-1])) for s in ideal]
print(ideal)
we = lines[4:8]
we = [list(map(float, s.split()[1:-1])) for s in we]
print(we)
In [5]:
for i in range(11):
s = sum([we[j][i] for j in range(len(we))])
print(s)
for j in range(len(we)):
we[j][i] /= s
In [6]:
from matplotlib import pyplot as plt
import numpy as np
cmap = plt.cm.Dark2
X = [0, 1]
X_names = ["article", "we"]
f, (ax1, ax2, ax3, ax4, ax5, ax6, ax7, ax8, ax9, ax10, ax11) = plt.subplots(1, 11, figsize=(27,7.5), sharey=True)
axs = [ax1, ax2, ax3, ax4, ax5, ax6, ax7, ax8, ax9, ax10, ax11]
error = 0
for i in range(len(axs)):
data1 = [ideal[0][i], we[0][i]]
data2 = [ideal[1][i], we[1][i]]
data3 = [ideal[2][i], we[2][i]]
data4 = [ideal[3][i], we[3][i]]
error += abs(data1[0]-data1[1]) + abs(data2[0]-data2[1]) + abs(data3[0]-data3[1]) + abs(data4[0]-data4[1])
if i == 0:
axs[i].set_ylabel("frequencies")
axs[i].bar(X, data1, label='strain 1', alpha=0.7, color=cmap(0.2))
axs[i].bar(X, data2, bottom=data1, label='strain 3', alpha=0.7, color=cmap(0.3))
axs[i].bar(X, data3, bottom=np.array(data1)+np.array(data2), label='strain 4', alpha=0.7, color=cmap(0.4))
axs[i].bar(X, data4, bottom=np.array(data1)+np.array(data2)+np.array(data3),
label='strain 5', alpha=0.7, color=cmap(0.6))
plt.sca(axs[i])
plt.xticks(X, X_names)
plt.title("sample %s" % (i+1))
if i == 10:
plt.legend(loc = (0, -0.3))
plt.show()
In [ ]: