Kann ich meine Graphen (Graphentheorie) mit TikZ online zeichnen?

Kann ich meine Graphen (Graphentheorie) mit TikZ online zeichnen?

Ich habe ein Problem, ich bin Masterstudent und schreibe meine Abschlussarbeit (Graphentheorie) in LaTeX.

Kann mir jemand helfen, eine Online-Website zu finden, auf der ich Diagramme zeichnen und den Code dann online in LaTeX einfügen kann?

Antwort1

Hier ist ein Beispiel für die Verwendung des igraph-Pakets in R und das Einbetten des Ergebnisses in eine PDF-Datei mithilfe von knitr und pdflatex. Je nach Betriebssystem und Setup können die tatsächlichen Workflow-Details variieren.

Im Allgemeinen: 1) Erstellen Sie die Latex-Datei mit den eingebetteten R-Befehlen. Speichern Sie diese mit der Erweiterung *.Rnw (Groß-/Kleinschreibung beachten). 2) Verwenden Sie nun R, um den Befehl knit auf dieser *.Rnw-Datei auszuführen. Sie erhalten keine *.tex-Datei mit demselben Basisnamen wie die ursprüngliche *.Rnw-Datei. 3) Führen Sie pdflatex aus und zeigen Sie dann die *.pdf-Datei an.

Hier ist eine Beispiel-Quelldatei (extrahiert aushttp://www.r-graph-gallery.com/247-network-chart-layouts/).

\documentclass[10pt,letterpaper]{article}
\begin{document}
Demo of Graph Theory using R and Tikz
<<>>=
# library
library(igraph)

# Create data
data=matrix(sample(0:1, 400, replace=TRUE, prob=c(0.8,0.2)), nrow=20)
network=graph_from_adjacency_matrix(data , mode='undirected', diag=F )

# When ploting, we can use different layouts:
par(mfrow=c(2,2), mar=c(1,1,1,1))
plot(network, layout=layout.sphere, main="sphere")
plot(network, layout=layout.circle, main="circle")
plot(network, layout=layout.random, main="random")
plot(network, layout=layout.fruchterman.reingold, main="fruchterman.reingold")
@
\end{document}

Und führt zu

Bildbeschreibung hier eingeben

Antwort2

Sie können sich für ein kostenlosesSagemath CloudKonto, das Ihnen die Leistung des Computeralgebrasystems Sage zusammen mit dem sagetexPaket in LaTeX bietet; DokumentationHier. Sage hat Kenntnisse in Graphentheorie; zum Beispielbenannte Graphen,Diagrammparameter, und selbstLaTeX-Optionen. Das heißt, Sie können Ihre Diagramme entweder mit erstellen tikzoder die Leistungsfähigkeit von Sage nutzen, um sich um die Details zu kümmern. Hier ist ein Beispiel:

\documentclass{article}
\usepackage{sagetex}
\usepackage{tikz,tkz-graph,tkz-berge}
\thispagestyle{empty}
\begin{document}
Here's a graph where you specify the position of the vertices. Note that  the label is placed inside unless specified:\\\\
\begin{center}
\begin{tikzpicture}[scale=1.5]
\renewcommand*{\VertexLineWidth}{1pt}%vertex thickness
\renewcommand*{\EdgeLineWidth}{1pt}% edge thickness
\GraphInit[vstyle=Normal]
\Vertex[Lpos=270,L=$v_1$,x=0,y=0]{R1}
\Vertex[LabelOut,Lpos=270,L=$v_2$,x=0,y=2]{R2}
\Vertex[LabelOut,Lpos=270,L=$v_3$,x=1,y=1]{R3}
\Vertex[LabelOut,Lpos=270,L=$v_4$,x=2,y=1]{R4}
\Vertex[LabelOut,Lpos=270,L=$v_5$,x=3,y=1]{R5}
\Vertex[LabelOut,Lpos=270,L=$v_6$,x=4,y=1]{R6}
\Vertex[LabelOut,Lpos=90,L=$v_7$,x=3,y=2]{R7}
\Vertex[LabelOut,Lpos=90,L=$v_8$,x=4,y=2]{R8}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Edge (R3)(R4)
\Edge (R3)(R1)
\Edge (R2)(R3)
\Edge (R5)(R4)
\Edge (R5)(R6)
\Edge (R5)(R7)
\Edge (R6)(R8)
\Edge (R7)(R8)
\end{tikzpicture}
\end{center}

But \textsf{Sage} has knowledge of graph theory and you can use it to specify graphs
and determine various characteristics. For example:\\\\
\begin{sagesilent}
H= graphs.PetersenGraph()
H.set_latex_options(scale=3.5,graphic_size=(2.1,2.1))
Chi = H.chromatic_number(algorithm="DLX")
Beta = H.independent_set()
\end{sagesilent}
\noindent The Petersen graph below has $\sage{H.order()}$ vertices and
$\sage{H.size()}$ edges.\\\\
\begin{center}
\begin{tikzpicture}
\GraphInit[vstyle=Normal]
\SetVertexNormal[Shape=circle,LineWidth = 1pt]
\tikzset{EdgeStyle/.append style = {color = blue!60, line width=1pt}}
\sage{H}
\end{tikzpicture}
\end{center}
\vspace{5pt}
The chromatic number is $\chi(G)=\sage{Chi}$. The maximum size independent 
set is $\beta(G)=\sage{len(Beta)}$. One such set is $\sage{Beta}$. The 
maximum size clique has $\omega(G)=\sage{H.clique_number()}$ vertices; 
e.g., $\sage{H.clique_maximum()}$. The diameter is $\sage{H.diameter()}$
and the radius is $\sage{H.radius()}$.
\end{document}

Das Ergebnis bei der Ausführung in Sagemath Cloud lautet:Bildbeschreibung hier eingeben

Wenn Sie das Bild vergrößern, werden Sie feststellen, dass Sage die Parameter des Diagramms für Sie berechnet hat – eine gute Möglichkeit, Fehler in einem wichtigen Dokument zu vermeiden.

Antwort3

Sie können alles, was in Geogebra gezeichnet wurde, als Tikz-Code exportieren, siehe dieses Tutorial,https://www.sharelatex.com/blog/2013/08/28/tikz-series-pt2.html

verwandte Informationen