Reichhaltige Zellenausgabe mit Jupyter Notebook (IPython)

Verwenden Sie SymPy, alle? Bei Verwendung von SymPy mit Jupyter Notebook ist die Ausgabeformel schön geformt und wird angezeigt. image.png Etwas wie das. Wissen Sie, wie man ein Objekt erstellt, das eine so reichhaltige Ausgabe erzeugen kann?

Es wurde in IPython-Dokumentation geschrieben. Dies kann erreicht werden, indem eine Methode implementiert wird, die in der Form "repr * _" benannt ist. Was für dieses * gilt, ist

es gibt. Ich denke, SymPy ist wahrscheinlich in LaTeX implementiert, aber dieses Mal verwenden wir eine leicht verständliche SVG.

Face() + Eye(35, 40) + Eye(65, 40) + Mouth(50, 75)

image.png

Die Implementierung ist wie folgt.

class Component():
    def __init__(self, items = None):
        self.items = items or [self]
    def __add__(self, target):
        return Component(self.items + target.items)
    def _repr_svg_(self):
        return ''.join([
            '<svg width="100" height="100">',
            *map(str, self.items),
            '</svg>'
        ])
    
class Face(Component):
    def __str__(self):
        return '<circle cx="50" cy="50" r="45" fill="none" stroke="black" stroke-width="1" />'

class Eye(Component):
    def __init__(self, x, y):
        super().__init__()
        self.x, self.y = x, y
    def __str__(self):
        return f'<circle cx="{self.x}" cy="{self.y}" r="5" fill="black" />'

class Mouth(Component):
    def __init__(self, x, y):
        super().__init__()
        self.x, self.y = x, y
    def __str__(self):
        return f'<path d="M{self.x} {self.y} l15 -5 h-30 Z" fill="none" stroke="black" stroke-width="1" />'

Recommended Posts

Reichhaltige Zellenausgabe mit Jupyter Notebook (IPython)
Spielen Sie mit Jupyter Notebook (IPython Notebook)
Verwenden von Apache Spark mit Jupyter Notebook (IPython Notebook)
So debuggen Sie mit Jupyter oder iPython Notebook
Grafikzeichnung mit Jupyter (Ipython-Notizbuch) + Matplotlib + Vagabund
Parallele Berechnung mit iPython Notebook
Verwenden von Graphviz mit Jupyter Notebook
Verwenden Sie pip mit Jupyter Notebook
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
EC2-Bereitstellung mit Vagrant + Jupyter (IPython Notebook) auf Docker
Verwenden Sie Cython mit Jupyter Notebook
Diagrammzeichnung mit IPython Notebook
Verwenden von Bokeh mit IPython Notebook
Ermöglichen Sie externe Verbindungen mit dem Jupiter-Notebook
Forschungs- und Entwicklungsleben mit iPython Notebook
Formatieren mit autopep8 auf Jupyter Notebook
Visualisieren Sie den Entscheidungsbaum mit einem Jupyter-Notizbuch
Machen Sie einen Sound mit Jupyter Notebook
Fügen Sie mit Jupyter Notebook weitere Kernel hinzu
Erstellen Sie eine IPython Notebook-Umgebung mit boot2docker
Bequeme Analyse mit Pandas + Jupyter Notebook
Verwenden Sie nbextensions mit Anacondas Jupyter-Notizbuch
Verwenden Sie Jupyter Lab und Jupyter Notebook mit EC2
Probieren Sie SVM mit scikit-learn auf Jupyter Notebook aus
Verwendung des Jupyter-Notebooks mit ABCI
Verknüpfung von Python und JavaScript mit dem Jupiter-Notizbuch
HTML-Präsentation "LIVE" mit IPython 3.0.0-dev, IPython Notebook
[Jupyter Notebook Memo] Kanji mit Matplotlib anzeigen
Jupyter Notizbuch Memo
Einführung in Jupyter Notebook
Erstellen einer Analyseumgebung mit Docker (Jupyter Notebook + PostgreSQL)
Datenanalyse zur Verbesserung von POG 2 ~ Analyse mit Jupiter-Notebook ~
Überprüfen Sie die NLC-Genauigkeit mit dem Jupyter Notebook von Watson Studio
Leistungsstarkes Jupyter-Notizbuch
Aktivieren Sie Jupyter Notebook mit conda auf dem Remote-Server
Jupyter Notizbuch Memo
ipython notebook Installation
IPython Notebook-Empfehlungen
Erstellen einer R-Umgebung mit Jupyter (ehemals IPython-Notebook) (unter OS X El Capitan 10.11.3)
Erstellen Sie eine Tabelle mit IPython Notebook
Aufbau einer virtuellen Umgebung mit Docker + Flask (Python) + Jupyter-Notebook
Einfaches maschinelles Lernen mit AutoAI (Teil 4) Jupyter Notebook
Überwachen Sie das Trainingsmodell mit TensorBord auf Jupyter Notebook
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Importieren Sie bestimmte Zellen aus anderen Notizbüchern mit Jupyter-Notizbuch
Mehrfachauswahl mit Jupyter
Kerzenbeine mit Plot + Jupyter
Starten Sie Jupyter Notebook
PDF mit Django ausgeben
Markdown-Ausgabe mit Django
PDF mit WeasyPrint ausgeben
Jupyter kommt mit großer Dynamik, seien Sie also auf Sie vorbereitet (IPython Notebook + R)
Starten Sie IPython mit virtualenv
Erstellen Sie Folien mit iPython
Verbinden Sie das IPython-Notebook aus der Ferne
Verknüpfung zum Verschieben von Jupyter-Zellen
Verwenden Sie nim mit Jupyter
[Cloud103] # 3 Jupyter Notebook wieder
[Maschinelles Lernen] Starten Sie Spark mit iPython Notebook und probieren Sie MLlib aus
Ich möchte R-Funktionen einfach mit ipython notebook verwenden