Alguns valores da matriz não aparecem no gráfico pelo Matplotlib
Criei uma matriz de referência vazia a partir do CSV, localizada (x, y) como uma posição na matriz (e as imprimi) e designei 100 para essa posição na matriz. Cada x é o valor da série ref_mass pandas.
ref_df = pd.read_csv(ref_file)
reference = np.zeros(shape=(1201,len(ref_df)))
ref_mass = ref_df["mass"]
for i, mass in enumerate(ref_mass):
print ref_mass[i].astype(int) - 300, i # print (x,y)
reference[(ref_mass[i].astype(int) - 300),i] = 100
Cada (x, y) foi impresso corretamente. No entanto, não há valor no gráfico de alguns (x, y). O que há de errado aqui? Eu verifiquei a matriz de referência, tem 100 em cada coluna corretamente.
O (x, y):
547 0
265 1
124 2
39 3
509 4 # shown
240 5 # shown
105 6
24 7
355 8
137 9
28 10 # shown
394 11
163 12
48 13
347 14
132 15 # shown
24 16
Código do lote:
if __name__ == '__main__':
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib
matplotlib.matplotlib_fname()
plt.ylabel('m/z')
plt.xlabel('Peptides')
plt.imshow(reference, aspect='auto', cmap='terrain')
plt.colorbar()
plt.tight_layout()
plt.show()