/ / Ist es möglich, den Python-Interpreter für die Verwendung von Matplotlib und / oder Scipy zu konfigurieren, ohne die Klassennamen (Python, Class, Matplotlib, Scipy) vorzustellen

Ist es möglich, den Python-Interpreter so zu konfigurieren, dass er matplotlib und / oder scipy verwendet, ohne die Klassennamen voranzutreiben - python, class, matplotlib, scipy

Ich benutze ein Python-Paket (SloppyCell)ist stark auf die Verwendung von Python-Plotwerkzeugen in scipy und matplotlib angewiesen. In dieser Software haben sie in einigen Fällen Funktionen aus diesen Modulen verwendet, aber nicht angegeben, aus welcher Klasse sie stammen. Zum Beispiel haben sie verwendet:

plot(traj.timepoints, result, "k--", linewidth=3,zorder = 10)

das gibt mir einen Namensfehler.

Ich hatte den Eindruck, dass diese Funktion sein würdeTeil von matplotlib.pyplot, sie haben jedoch nicht einmal matplotlib importiert, nur scipy, was darauf hindeutet, dass diese "Plot" - Funktion Teil von scipy ist. Ich habe versucht, das Modul leicht zu modifizieren, indem ich matplotlib.pyplot importierte und den Code folgendermaßen ausführte:

matplotlib.pyplot.plot(traj.timepoints, result, "k--", linewidth=3,zorder = 10)

Ich bekomme aber genau dasselbe "NameError: globaler Name" plot "ist nicht definiert". Dies ist noch ungewöhnlicher (für mich), denn wenn ich diese Funktion außerhalb von SloppyCell verwende, funktioniert das einwandfrei.

Die Software funktioniert offensichtlich für andere Leuteweil sie Papiere veröffentlicht haben, die diesen Code verwenden. Daher legt die Intuition nahe, dass es einen Weg gibt, den Python-Interpreter dazu zu bringen, dies (und andere ähnliche Funktionen) zu erkennen, ohne den Namen der Klasse, aus der er stammt, vorzustellen. Weiß jemand, ob das möglich ist? Kann irgendjemand anders denken, wenn andere Probleme fehlen?

Danke im Voraus.

Antworten:

1 für die Antwort № 1

In einem einfachen Python 2.7 kann ich Folgendes tun:

>>> from matplotlib import pyplot
>>> pyplot.plot
<function plot at 0xb4fe35a4>

Im ipython --pylab ich kann

plot??
pyplot.plot??

Bedeutung pyplot wurde sowohl nach Name als auch nach importiert *. Es macht dasselbe mit numpy (np und *).

import numpy as np gibt Zugang zu allem numpy Submodule. Aber mit scipyhaben Sie sie selektiv importiert (z. B. from scipy import sparse). Ich bin nicht so vertraut mit matplotlib, aber es sieht so aus, als würde es dem folgen scipy Modell.