NMR Spektrum (1H/13C) mit Python
Verfasst: Freitag 8. Mai 2015, 20:12
Ich wollte gerne mit Python ein H-NMR Spektrum plotten. Das hat auch prima funktioniert! Ich hatte eine Textdatei mit Zahlen, habe die Säulen definiert, hat alles prima geklappt. Plotten ging auch. Nur sieht mein Plot nicht so aus, wie ich es gerne hätte. Hier die Probleme:
- ich möchte keine Zahlen auf der Y-Akse, auch wenn ich sie zum Plotten benutze (die Professionellen haben auch keine Y-Akse)
- Ich hätte gerne, dass die einzelnen Peaks den X-Wert über sich stehen haben
- ich würde gerne plt.xlim zwei mal im gleichen Plot benutzen. Einmal um die zwei äußeren Ränder wegzuschneiden, ein zweites Mal, um den Zwischenraum zwischen den zwei Graphen zu entfernen; natürlich sollte die X-Akse aufzeigen, dass die zwei Plots plötzlich nebeneinander sind.
- das gesamte einmal Vertikal spiegeln, denn bei richtigen NMR's wird der X-Wert kleiner, wenn man nach Rechts geht.
- zum Schluß hätte ich gerne, dass automatisch ein Integral berechnet wird.
Ich weiß, das ist viel, aber ich habe keine Ahnung wie ich das anstellen soll. Ich habe gelesen, dass es ein Tool gibt, Namens NMRGLUE. https://code.google.com/p/nmrglue/ ... doch leider finde ich nicht, dass ich besonders viel darüber herausfinden kann. Außer, dass es angeblich(?) für NMR da ist, und auch integrieren kann.
Hier das, was ich versucht habe:
Viele liebe Grüße!
- ich möchte keine Zahlen auf der Y-Akse, auch wenn ich sie zum Plotten benutze (die Professionellen haben auch keine Y-Akse)
- Ich hätte gerne, dass die einzelnen Peaks den X-Wert über sich stehen haben
- ich würde gerne plt.xlim zwei mal im gleichen Plot benutzen. Einmal um die zwei äußeren Ränder wegzuschneiden, ein zweites Mal, um den Zwischenraum zwischen den zwei Graphen zu entfernen; natürlich sollte die X-Akse aufzeigen, dass die zwei Plots plötzlich nebeneinander sind.
- das gesamte einmal Vertikal spiegeln, denn bei richtigen NMR's wird der X-Wert kleiner, wenn man nach Rechts geht.
- zum Schluß hätte ich gerne, dass automatisch ein Integral berechnet wird.
Ich weiß, das ist viel, aber ich habe keine Ahnung wie ich das anstellen soll. Ich habe gelesen, dass es ein Tool gibt, Namens NMRGLUE. https://code.google.com/p/nmrglue/ ... doch leider finde ich nicht, dass ich besonders viel darüber herausfinden kann. Außer, dass es angeblich(?) für NMR da ist, und auch integrieren kann.
Hier das, was ich versucht habe:
Code: Alles auswählen
from __future__ import division
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
#1HNMR-plot
data = np.genfromtxt('directory/file.csv', delimiter=',', skip_header=1)
a=data[:,0]
b=data[:,1]
c=data[:,2]
d=data[:,3]
plt.plot(b,c,'b')
plt.xlabel('ppm')
plt.title('HNMR')
plt.xlim(50, 180)
plt.ylim(0,3500000)
plt.grid(True)
plt.show()