Die Mathe-Redaktion - 23.10.2018 06:19 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
ListenpunktSchwätz / Top 15
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 263 Gäste und 3 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von matroid
Kombinatorik & Graphentheorie » Graphentheorie » Streichholzgraphen mit pgfplots, TikZ/pgf
Thema eröffnet 2018-08-24 19:23 von
Slash
Druckversion
Druckversion
Antworten
Antworten
Seite 2   [1 2 3]   3 Seiten
Autor
Kein bestimmter Bereich Streichholzgraphen mit pgfplots, TikZ/pgf
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.40, vom Themenstarter, eingetragen 2018-09-07


Mit Hilfe dieses Beispiels habe ich es geschafft ganz leicht jede Kante so zu färben wie ich will. smile

Nochmals Danke für die Vorarbeit, cis!


EDIT: Ich sehe gerade, dass dieses Beispiel/Frage ja von dir ist. Du führst also ein Doppelleben als cis. wink ...und du hast recht, da ist ein Bug mit der Farbmischung drin.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.41, eingetragen 2018-09-07


2018-09-07 17:40 - Slash in Beitrag No. 40 schreibt:
EDIT: Ich sehe gerade, dass dieses Beispiel/Frage ja von dir ist. Du führst also ein Doppelleben als cis. wink

Alles, was mit gewisser haarsträubender Dramaturgie und unregelmäßiger Nonstandardanwendung in Sachen TikZ/pgf verbunden ist, geht auf meinen Senf zurück.
(Allerdings nur in der deutschsprachigen Welt, schaut man ins US-LaTeX-Forum sieht das natürlich anders aus.)

Dass man die Kanten irgendwie farbig machen kann hatte ich bereits erwähnt, zumal patch table with point meta sowas wie
patch table with point meta={
pt1 pt2 pt3 ... colordata
.....
}
ist, da die meta-Daten im Normalfall die Colordaten sind (kann man auch umstauchen).

Die Farben sind aber nicht genau die, die ausgewählt wurden. Ich möchte exakt gefärbt haben. Das geht eigentlich, nur scheint bei dieser patch table with point meta irgendwas anders oder auch unvollständig (ein Bug) zu sein.

Ich erwarte vollständige Perfektion auch bei diesen Futzelgraphen da.




  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.42, vom Themenstarter, eingetragen 2018-09-07


Ich habe durch experimentieren herausgefunden, wie die Farben/Farbmischung zu manipulieren ist.

Wert 0 für Farbe in colormap, hier grün, braucht nicht angegeben zu werden. Die drei roten Kanten lasse ich als letztes zeichnen. Erst mit Wert 1, dann werden sie braun, dann nochmal mit einem höheren Wert, hier 5, der wohl Rotwert und Helligkeit festlegt.

LaTeX
%\documentclass[]{article}
\documentclass[margin=5mm, tikz]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{patchplots}
\pgfplotsset{compat=1.13}
 
\begin{document}
 
  % Allgemeine Angaben
  \pgfplotsset{x=12mm, y=12mm,
  }
  \pgfplotsset{compat=1.13,	x=15mm, y=15mm,}
  \begin{tikzpicture}
  \begin{axis}[hide axis,
  colormap={mycolormap}{
  	color(0)=(green);
  	color(1)=(red);
  }
  ]
  \addplot+[
  % Punkte
  mark size=1.125pt, mark options={black},
  % Kanten
  thick,
  %nodes near coords=\coordindex,
  table/row sep=\\,
  patch, % Plot-Typ
  patch type=polygon,
  vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
  % Angabe der Verbindungskanten
  patch table with point meta={
  	Startpkt Endpkt colordata \\
  	2 1 \\
  	3 1 \\
  	3 2 \\
  	4 3 \\
  	4 2 \\
  	5 4 \\
  	5 2 \\
  	5 37 \\
  	6 1 \\
  	7 1 \\
  	7 6 \\
  	8 7 \\
  	8 6 \\
  	9 7 \\
  	9 8 \\
  	10 9 \\
  	10 8 \\
  	11 9 \\
  	11 10 \\
  	12 11 \\
  	13 11 \\
  	13 12 \\
  	14 13 \\
  	14 12 \\
  	15 13 \\
  	15 14 \\
  	16 15 \\
  	17 15 \\
  	17 16 \\
  	18 17 \\
  	18 16 \\
  	19 17 \\
  	19 18 \\
  	20 19 \\
  	21 19 \\
  	21 20 \\
  	22 21 \\
  	22 20 \\
  	23 21 \\
  	23 22 \\
  	24 23 \\
  	25 23 \\
  	25 24 \\
  	26 25 \\
  	26 24 \\
  	27 25 \\
  	27 26 \\
  	28 27 \\
  	28 26 \\
  	29 27 \\
  	29 28 \\
  	29 31 \\
  	30 31 \\
  	30 29 \\
  	31 33 \\
  	32 33 \\
  	32 31 \\
  	32 30 \\
  	34 35 \\
  	34 33 \\
  	34 36 \\
  	35 33 \\
  	36 37 \\
  	36 35 \\
  	36 38 \\
  	37 35 \\
  	38 5 \\
  	38 37 \\
  	39 32 \\
  	39 30 \\
  	40 34 \\
  	40 39 \\
  	41 39 \\
  	41 28 \\
  	42 41 \\
  	42 24 \\
  	43 4 \\
  	43 38 \\
  	44 41 \\
  	44 42 \\
  	44 40 \\
  	45 6 \\
  	45 3 \\
  	46 14 \\
  	46 12 \\
  	46 48 \\
  	47 18 \\
  	47 16 \\
  	48 10 \\
  	48 45 \\
  	48 49 \\
  	49 45 \\
  	49 43 \\
  	50 47 \\
  	50 46 \\
  	50 51 \\
  	51 22 \\
  	51 20 \\
  	51 47 \\
  	40 43 1\\ % rot	
  	44 49 1\\ % rot
  	50 42 1\\ % rot
  	40 43 5\\ % rot
  	44 49 5\\ % rot
  	50 42 5\\ % rot
  }
  % Angabe der Verbindungskanten Ende
  ]
  table[header=true, x index=1, y index=2, row sep=\\] {
  	Nr  x     y        Textposition \\
  	0  0    0           south       \\% Default
  	1 -1.01 3.84   \\
  	2 -1.83 3.26   \\
  	3 -0.92 2.84 north  \\
  	4 -1.74 2.27 south  \\
  	5 -2.65 2.68   \\
  	6 -0.76 2.87   \\
  	7 -0.05 3.57   \\
  	8 0.21 2.61   \\
  	9 0.92 3.31   \\
  	10 1.17 2.34   \\
  	11 1.88 3.05   \\
  	12 1.50 2.12   \\
  	13 2.49 2.26   \\
  	14 2.12 1.33   \\
  	15 3.11 1.47   \\
  	16 2.16 1.15 north  \\
  	17 2.90 0.49 south  \\
  	18 1.95 0.18   \\
  	19 2.69 -0.49   \\
  	20 1.72 -0.27   \\
  	21 2.01 -1.22   \\
  	22 1.04 -1.00   \\
  	23 1.33 -1.96   \\
  	24 0.83 -1.09   \\
  	25 0.33 -1.96   \\
  	26 -0.17 -1.09 north  \\
  	27 -0.67 -1.96 south  \\
  	28 -1.17 -1.09 north  \\
  	29 -1.67 -1.96 south  \\
  	30 -1.24 -1.05   \\
  	31 -2.24 -1.13   \\
  	32 -1.81 -0.23   \\
  	33 -2.80 -0.31   \\
  	34 -1.91 0.14   \\
  	35 -2.75 0.69   \\
  	36 -1.86 1.14   \\
  	37 -2.70 1.69   \\
  	38 -1.81 2.14 north  \\
  	39 -0.81 -0.15 south  \\
  	40 -1.15 0.79   \\
  	41 -0.18 -0.93   \\
  	42 0.46 -0.16   \\
  	43 -0.90 1.72   \\
  	44 -0.52 0.01   \\
  	45 -0.67 1.88   \\
  	46 1.13 1.19   \\
  	47 1.21 0.84   \\
  	48 0.33 1.80   \\
  	49 -0.23 0.97   \\
  	50 0.21 0.80   \\
  	51 0.75 -0.04   \\
  };
  % Beschriftungen
  % Anzeigen des 0. Aliaspunktes verhindern:
  \newcommand\Punktnummer{\pgfmathparse{\punktnummer>0 ? \punktnummer : ""}\pgfmathresult}
 
  \addplot[
  only marks,
  visualization depends on={value \thisrowno{0} \as \punktnummer},
  visualization depends on={value \thisrowno{3} \as \Anker},
  nodes near coords={\Punktnummer},
  %
  every node near coord/.append style={
  	font=\scriptsize, % \sffamily
  	text=black,
  	anchor=\Anker
  },
  ] table[header=true, x index=1, y index=2, row sep=\\] {
  	Nr  x     y        Textposition \\
  	0  0    0           south       \\
  	1 -1.01 3.84   \\
  	2 -1.83 3.26   \\
  	3 -0.92 2.84 north  \\
  	4 -1.74 2.27 south  \\
  	5 -2.65 2.68   \\
  	6 -0.76 2.87   \\
  	7 -0.05 3.57   \\
  	8 0.21 2.61   \\
  	9 0.92 3.31   \\
  	10 1.17 2.34   \\
  	11 1.88 3.05   \\
  	12 1.50 2.12   \\
  	13 2.49 2.26   \\
  	14 2.12 1.33   \\
  	15 3.11 1.47   \\
  	16 2.16 1.15 north  \\
  	17 2.90 0.49 south  \\
  	18 1.95 0.18   \\
  	19 2.69 -0.49   \\
  	20 1.72 -0.27   \\
  	21 2.01 -1.22   \\
  	22 1.04 -1.00   \\
  	23 1.33 -1.96   \\
  	24 0.83 -1.09   \\
  	25 0.33 -1.96   \\
  	26 -0.17 -1.09 north  \\
  	27 -0.67 -1.96 south  \\
  	28 -1.17 -1.09 north  \\
  	29 -1.67 -1.96 south  \\
  	30 -1.24 -1.05   \\
  	31 -2.24 -1.13   \\
  	32 -1.81 -0.23   \\
  	33 -2.80 -0.31   \\
  	34 -1.91 0.14   \\
  	35 -2.75 0.69   \\
  	36 -1.86 1.14   \\
  	37 -2.70 1.69   \\
  	38 -1.81 2.14 north  \\
  	39 -0.81 -0.15 south  \\
  	40 -1.15 0.79   \\
  	41 -0.18 -0.93   \\
  	42 0.46 -0.16   \\
  	43 -0.90 1.72   \\
  	44 -0.52 0.01   \\
  	45 -0.67 1.88   \\
  	46 1.13 1.19   \\
  	47 1.21 0.84   \\
  	48 0.33 1.80   \\
  	49 -0.23 0.97   \\
  	50 0.21 0.80   \\
  	51 0.75 -0.04   \\
  };
  % Beschriftungen Ende
  \end{axis}
  \end{tikzpicture}
 
\end{document}



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.43, eingetragen 2018-09-07


2018-09-07 18:21 - Slash in Beitrag No. 42 schreibt:
Ich habe durch experimentieren herausgefunden, wie die Farben/Farbmischung zu manipulieren ist. Genaueres folgt gleich.

Das will ich auch hoffen! LaTeX-Erkenntnisse haben grundsätzlich mit einem vollständigen und lauffähigen Minimalbeispiel untermauert zu werden.




  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.44, eingetragen 2018-09-07


Ach so, das hast Du jetzt editiert und doch noch ein vollständiges, lauffähiges MWE daraus gemacht, so dass der Helfer das gleich verwenden kann und nicht erst rekonstruieren muss.

Gut.
2018-09-07 18:21 - Slash in Beitrag No. 42 schreibt:
Ich habe durch experimentieren herausgefunden, wie die Farben/Farbmischung zu manipulieren ist.

Wert 0 für Farbe in colormap, hier grün, braucht nicht angegeben zu werden. Die drei roten Kanten lasse ich als letztes zeichnen. Erst mit Wert 1, dann werden sie braun, dann nochmal mit einem höheren Wert, hier 5, der wohl Rotwert und Helligkeit festlegt.

Das war, in dem Sinne schon klar, das Problem, was hier auftritt ist, dass das red der hervorgehobenen Kanten nicht das normale red ist, wenngleich kein anderes red in der colormap definiert wurde.

Das sieht man, wenn man die Punkte red setzt:


Bei einem normalen Beispiel, ohne patch table with point meta, wäre das nicht so.

Naja, es ist kein großes Problem, weil man schon irgendwas Farbiges in die richtige Richtung hinbekommt. Bloß glaube ich, dass da irgendein kleiner Bug oder Rechenfehler drin ist, in \usepgfplotslibrary{patchplots}.



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.45, vom Themenstarter, eingetragen 2018-09-08


Wenn du bei dem Bug am Ball bleibst im TeX Forum, dann bitte hier auch noch die Lösung posten oder verlinken. (#wirwollenrotsehen) cool



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.46, eingetragen 2018-09-08


2018-09-08 00:21 - Slash in Beitrag No. 45 schreibt:
Wenn du bei dem Bug am Ball bleibst im TeX Forum, dann bitte hier auch noch die Lösung posten oder verlinken. (#wirwollenrotsehen) cool

Das kann vermutlich nur noch Christian Feuersänger, der Paketautor, klären. Er ist manchmal auf TeXwelt aktiv und arbeitet da die pgfplots-Fragen auf; mit etwas Glück....



  Profil  Quote  Link auf diesen Beitrag Link
StefanVogel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.11.2005
Mitteilungen: 3133
Aus: Raun
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.47, eingetragen 2018-09-08

\(\begingroup\)
Um die Wartezeit zu überbrücken...

2018-08-28 15:15 - cis in Beitrag No. 26 schreibt:
a. Dazu müsste ich erstmal wissen was ein Streichholzgraph ist und wie er konstruiert wird. Ich bin nur optischer Streichholzgrapher kein Streichholzgraphtheoretiker; m.a.W.: Ich habe eigentlich keine Ahnung was ich da mache und wozu ich es mache.  :-)

Wie dem auch sei, das Problem könnte mit TikZ, Bibliothek calc, (mühsam) lösbar sein; aber:

b. Nein, ich habe allein die Daten von Stefan Vogel verwendet.
Die Koordinaten hat er -ich weiß nicht wie- berechnet und es ist sicher sinnvoller die gesuchten weiteren Größen mit dem selben Programm zu berechnen.

Hallo cis, das kann ich etwas näher (in einem Satz?) erläutern. Ausgehend von zwei gegebenen Punkten werden mit einer Programmfunktion A(i,j) zwei Punkte i und j verbunden, mit N(k,i,j) wird ein neuer Punkt k erzeugt, der von i und j den Abstand 1 hat und mit diesen verbunden wird, N(k,j,i) falls k auf der anderen Seite liegen soll, und falls das nicht weitergeht, kann man mit M(k,i,j,winkel) einen Punkt k erzeugen, der mit i und j den vorgegebenen Winkel einschließt und ebenfalls mit i über eine Kante der Länge 1 verbunden ist.

Damit kann man eigentlich schon jeden Streichholzgraph zeichnen, sofern man die richtigen Winkel weiß. Die Funktionen A, N und M (und paar weitere, slash hat sie MGC-Language getauft) sind in javascript programmiert, können aber auch in anderen Programmiersprachen realisiert werden, zum Beispiel ein Versuch in TikZ:

<math>
\def\A#1#2{\draw[] (P-#1) -- (P-#2);}
\def\N#1#2#3{
\path[name path=k1] (P-#2) circle (1);
\path[name path=k2] (P-#3) circle (1);
\path[name intersections={of=k1 and k2}];
\node (P-#1) at (intersection-1) {$#1$};
\draw (P-#2) -- (P-#1) -- (P-#3);
}
\def\M#1#2#3#4{
\path (P-#2) node (P-#1) at ++(#4:1) {$#1$};
\draw (P-#2) -- (P-#1);
}

\begin{tikzpicture}
\node (P-1) at (0.00,0.00) {$1$};
\node (P-2) at (1.00,0.00) {$2$};
\A{2}{1};
\N{3}{1}{2};
\N{4}{2}{3};
\N{5}{1}{3};
\M{6}{5}{3}{28.955};
\N{7}{5}{6};
\N{8}{7}{6};
\N{9}{6}{8};
\A{9}{4};

\end{tikzpicture}
</math>
TikZ
<math>
\def\A#1#2{\draw[] (P-#1) -- (P-#2);}
\def\N#1#2#3{
  \path[name path=k1] (P-#2) circle (1);
  \path[name path=k2] (P-#3) circle (1);
  \path[name intersections={of=k1 and k2}];
  \node (P-#1) at (intersection-1) {$#1$};
  \draw (P-#2) -- (P-#1) -- (P-#3);
  }
\def\M#1#2#3#4{
  \path (P-#2) node (P-#1) at ++(#4:1) {$#1$};
  \draw (P-#2) -- (P-#1);
  }
 
\begin{tikzpicture}
\node (P-1) at (0.00,0.00) {$1$};
\node (P-2) at (1.00,0.00) {$2$};
\A{2}{1};
\N{3}{1}{2};
\N{4}{2}{3};
\N{5}{1}{3};
\M{6}{5}{3}{28.955};
\N{7}{5}{6};
\N{8}{7}{6};
\N{9}{6}{8};
\A{9}{4};
 
\end{tikzpicture}
</math>

Nicht geschafft habe ich, dass #M den Winkel relativ von #1 nach #2 bezüglich #3 nach #2 zeichnet ([turn] hat nicht geklappt) und ich kenne auch noch nicht, nach welchem System intersection-1 und intersection-2 benannt werden, also welches -1 und welches -2 ist. Ja und die Beschriftung ist, wie ich sie gerade so hinbekommen habe.
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.48, eingetragen 2018-09-08

\(\begingroup\)
@StefanVogel  

Du bist ja über Nacht zum Profi-TikZer geworden. Slash muss da ja teilweise noch seine Hausaufgaben machen.  smile



@ intersections

Der Code übersetzt m.E. etwas schneller, wenn man 'newcommand' verwendnet statt 'def'.
'def' soll man m.W. nicht verwenden; ich mache das manchmal aus Faulheit: '\def\t{Text...}'.

Man kann natürlich auch mal farbig hervorheben, was intersection-1, -2 ist.

<math>

\newcommand\A[2]{\draw[] (P-#1) -- (P-#2);}
\newcommand\N[3]{
\path[name path=k1] (P-#2) circle (1);
\path[name path=k2] (P-#3) circle (1);
\path[name intersections={of=k1 and k2}];
\node[red] (P-#1) at (intersection-1) {$#1$};
%  \node[blue] (N) at (intersection-2) {$#1$};
\draw (P-#2) -- (P-#1) -- (P-#3);
}
\newcommand\M[4]{
\path (P-#2) node[blue] (P-#1) at ++(#4:1) {$#1$};
\draw (P-#2) -- (P-#1);
}

\begin{tikzpicture}
\node (P-1) at (0.00,0.00) {$1$};
\node (P-2) at (1.00,0.00) {$2$};
\A{2}{1};
\N{3}{1}{2};
\N{4}{2}{3};
\N{5}{1}{3};
\M{6}{5}{3}{28.955};
\N{7}{5}{6};
\N{8}{7}{6};
\N{9}{6}{8};
\A{9}{4};

\end{tikzpicture}

</math>

oder auch so oder ähnlich

<math>

\tikzset{Malen/.style={
% Zeichnen oder auskommentieren:
draw=#1, thin, %densely dashed,
}}

\newcommand\A[2]{\draw[] (P-#1) -- (P-#2);}
\newcommand\N[3]{
\path[name path=k1, Malen=red] (P-#2) circle (1);
\path[name path=k2, Malen=blue] (P-#3) circle (1);
\path[name intersections={of=k1 and k2}];
\node[red] (P-#1) at (intersection-1) {$#1$};
%  \node[brown] (N) at (intersection-2) {$#1$};
\draw (P-#2) -- (P-#1) -- (P-#3);
}
\newcommand\M[4]{
\path (P-#2) node[blue] (P-#1) at ++(#4:1) {$#1$};
\draw (P-#2) -- (P-#1);
}

\begin{tikzpicture}
\node (P-1) at (0.00,0.00) {$1$};
\node (P-2) at (1.00,0.00) {$2$};
\A{2}{1};
\N{3}{1}{2};
\N{4}{2}{3};
\N{5}{1}{3};
\M{6}{5}{3}{28.955};
\N{7}{5}{6};
\N{8}{7}{6};
\N{9}{6}{8};
\A{9}{4};

\end{tikzpicture}
</math>



@ Winkel

Das könnte mit der Bibliothek angles gehen; die aber hier auch nicht verfügbar ist.

Aber statt immer wieder matroid um weitere Einzelbibliotheken zu ersuchen, fände ich die Universallösung besser LinkVerbesserungsvorschlag hinsichtlich der Tikz- und pgfplots-Bibliotheken
(die Universallösung kann doch vll. mathp oder so in 6min. runterprogrammieren).

___________________
Eigentlich sollte ich ja im Allgm. gar nichts sinnvolles posten, angesichts des KM-Terrors, der gegen mich angestrengt wird.
Aber da könnt ihr beide nichts dafür; und der Spaß an der Sache ist eben zu groß.
Die Graphiken der Streichholzgraphen sind schon eine interessante Anwendung.  wink



\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.49, eingetragen 2018-09-08

\(\begingroup\)
2018-09-08 07:30 - StefanVogel in Beitrag No. 47 schreibt:
<math>
\def\A#1#2{\draw[] (P-#1) -- (P-#2);}
\def\N#1#2#3{
\path[name path=k1] (P-#2) circle (1);
\path[name path=k2] (P-#3) circle (1);
\path[name intersections={of=k1 and k2}];
\node (P-#1) at (intersection-1) {$#1$};
\draw (P-#2) -- (P-#1) -- (P-#3);
}
\def\M#1#2#3#4{
\path (P-#2) node (P-#1) at ++(#4:1) {$#1$};
\draw (P-#2) -- (P-#1);
}

\begin{tikzpicture}
\node (P-1) at (0.00,0.00) {$1$};
\node (P-2) at (1.00,0.00) {$2$};
\A{2}{1};
\N{3}{1}{2};
\N{4}{2}{3};
\N{5}{1}{3};
\M{6}{5}{3}{28.955};
\N{7}{5}{6};
\N{8}{7}{6};
\N{9}{6}{8};
\A{9}{4};

\end{tikzpicture}
</math>

BTW: Ich weiß nicht, welches Ziel mit dieser Methode verfolgt werden soll. Angesichts der Lösung #32, die ich nunmehr mit Überschriften versehen habe, ist das eher ein Rückschritt.

Ich geb zu #32 ist sehr umfangreich und schwer daran auszuprobieren, aber man kann es ja z.B. auf 2 Kanten runterbrechen, um etwa das Winkelproblem anzugehen.

Was die Annotationen angeht braucht man

A. Farbige Kanten
Mit #32 an sich schon gelöst, durch definieren einer colormap und eintragen von Zahlen in die Spalte 'colordata'.


B. Winkel
cis (#48 schreibt: schrieb)
@ Winkel
Das könnte mit der Bibliothek angles gehen

Ich würde den Gedanken gar nicht erst weiterverfolgen. Weil die Umsetzung, die ich im Grunde schon vor Augen habe, auch ein Rückschritt wäre.

In #32 werden die Kanten bequem in der Form
Kanten
Startpkt Endpkt colordata \\%colordata weglassen, dann vermutl. autom. 0
1 1   \\
2 1    \\
3 1    \\
3 2    \\
4 3    \\
4 2    \\
...
angeben.

Wie wäre es, wenn man auch gewünschte hervorzuhebende Winkel in der Form
Winkel (SOLL)
pt1 pt2 pt3 colordata
3 2 1   \\
2 3 4   \\
... 
angeben könnte?

Diese Idee ist mir gerade gekommen.

Die Umsetzung müsste also ein weiterer (manipulierter) 'patch plot' sein. Und da muss ich mal schauen, ob  wie das gehen könnte....
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.50, vom Themenstarter, eingetragen 2018-09-09


Die Linienfarbe variiert sogar, wenn man die Punktbeschriftungen nicht zeichnen lässt. Dann wird aus dem dunklen grün wieder ein helles grün.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.51, eingetragen 2018-09-09


2018-09-09 03:17 - Slash in <a href=vder Hinterhandndwtopic.php?topic=237430&post_id=1728849>Befürag No. 50 schreibt:
Die Linienfarbe variiert sogar, wenn man die Punktbeschriftungen nicht zeichnen lässt. Dann wird aus dem dunklen grün wieder ein helles grün.


Ja, ich behaupte ein Bug.
Aber auch da habe ich eine Umgehungslösung in der Hinterhand.  Dem cis kann bei TikZ keiner einen Appel fürn Ei vormachen.  



  Profil  Quote  Link auf diesen Beitrag Link
StefanVogel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.11.2005
Mitteilungen: 3133
Aus: Raun
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.52, eingetragen 2018-09-09

\(\begingroup\)
Durch probieren habe ich herausgefunden, dass intersection bei etwa 60 Grad die Seite wechselt.
TikZ
<math>
\begin{tikzpicture}
\node (P-1) at (0,0) {$1$};
\node (P-2) at (59.999:1) {$2$};
\path[name path=k1] (P-1) circle (1);
\path[name path=k2] (P-2) circle (1);
\path[name intersections={of=k1 and k2}];
\node (P-3) at (intersection-1) {$3$};
\draw (P-1) -- (P-2) (P-1) -- (P-3) (P-2) -- (P-3);
\end{tikzpicture}
</math>

Bei 59.999° Grad liegt der Schnittpunkt links, wenn man von Punkt 1 in Richtung 2 geht

<math>
\begin{tikzpicture}
\node (P-1) at (0,0) {$1$};
\node (P-2) at (59.999:1) {$2$};
\path[name path=k1] (P-1) circle (1);
\path[name path=k2] (P-2) circle (1);
\path[name intersections={of=k1 and k2}];
\node (P-3) at (intersection-1) {$3$};
\draw (P-1) -- (P-2) (P-1) -- (P-3) (P-2) -- (P-3);
\end{tikzpicture}
</math>

Bei 59.9999° rechts  davon

<math>
\begin{tikzpicture}
\node (P-1) at (0,0) {$1$};
\node (P-2) at (59.9999:1) {$2$};
\path[name path=k1] (P-1) circle (1);
\path[name path=k2] (P-2) circle (1);
\path[name intersections={of=k1 and k2}];
\node (P-3) at (intersection-1) {$3$};
\draw (P-1) -- (P-2) (P-1) -- (P-3) (P-2) -- (P-3);
\end{tikzpicture}
</math>

2018-09-08 22:38 - cis in Beitrag No. 49 schreibt:
2018-09-08 07:30 - StefanVogel in Beitrag No. 47 schreibt:
<math>
\def\A#1#2{\draw[] (P-#1) -- (P-#2);}
\def\N#1#2#3{
\path[name path=k1] (P-#2) circle (1);
\path[name path=k2] (P-#3) circle (1);
\path[name intersections={of=k1 and k2}];
\node (P-#1) at (intersection-1) {$#1$};
\draw (P-#2) -- (P-#1) -- (P-#3);
}
\def\M#1#2#3#4{
\path (P-#2) node (P-#1) at ++(#4:1) {$#1$};
\draw (P-#2) -- (P-#1);
}

\begin{tikzpicture}
\node (P-1) at (0.00,0.00) {$1$};
\node (P-2) at (1.00,0.00) {$2$};
\A{2}{1};
\N{3}{1}{2};
\N{4}{2}{3};
\N{5}{1}{3};
\M{6}{5}{3}{28.955};
\N{7}{5}{6};
\N{8}{7}{6};
\N{9}{6}{8};
\A{9}{4};

\end{tikzpicture}
</math>

BTW: Ich weiß nicht, welches Ziel mit dieser Methode verfolgt werden soll. Angesichts der Lösung #32, die ich nunmehr mit Überschriften versehen habe, ist das eher ein Rückschritt.

Genau das soll es sein, zurückgehen und schauen, wo die Koordinaten herkommen. Dass das eine Alternative wird, glaube ich auch nicht. Dafür tun sich jetzt schon genug Hürden auf (wo liegt intersection-1, wie [turn] für relativen Winkel anwenden). Selbst wenn das zu machen geht, sobald die intersection-Koordinaten weit hinter dem Komma paar Stellen von denen in der Tabelle abweichen, kann das dazu führen, dass paar hundert Kanten weiter nichts mehr zusammenpasst. Also die Koordinatentabelle ist auch meiner Meinung nach die beste Ausgangsbasis.
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.53, vom Themenstarter, eingetragen 2018-09-09


Die neuen pgfplots kommen wirklich gut im PDF. Das beste ist jetzt wirklich die einfache Knoten-, Kanten- und Punktbezeichnungsmanipulation. Was das mit  svg/tikZ vorher für eine Arbeit war... Allein die richtigen Kanten im Code zu finden (um sie umzufärben) hat manchmal 10-20 Minuten gedauert.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.54, eingetragen 2018-09-09


2018-09-09 17:44 - Slash in Beitrag No. 53 schreibt:
Das beste ist jetzt wirklich die einfache Knoten-, Kanten- und Punktbezeichnungsmanipulation.

Ja, da kennst Du den ollen cis eben schlecht, der ist erst zufrieden, wenn es einfachstmöglich ist.

Das mit den Winkeln kriegt man auch noch hin. Muss ich mal drüber grübeln und die anderen Experten um Tipps bitten.

Das Problem ist ein wenig, dass der patch-Plot kaum verwendet wird. Man findet nur sehr wenige Beispiele im Internet, an denen man sich Werkzeuge rauslesen könnte.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.55, eingetragen 2018-09-10


Zwischenergebnis:

2018-09-08 22:38 - cis in Beitrag No. 49 schreibt:
Wie wäre es, wenn man auch gewünschte hervorzuhebende Winkel in der Form
Winkel (SOLL)
pt1 pt2 pt3 colordata
3 2 1   \\
2 3 4   \\
... 
angeben könnte?

Da gibt es ein ganz schwieriges Problem. Mal schauen, vielleicht kriegt man das dennoch in den Griff.




  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.56, eingetragen 2018-09-10


Mit viel Hilfe von Murmeltier können die Winkel nunmehr in der Form

table[header=true, x expr =0, y expr=0]{
Punkt1 Scheitel Punkt2 Winkelradius Winkelfarbe 
3  2  1    1.2cm    red    
2  3  4    0.6cm    blue   
};

eingezeichnet werden.

Die Lösung hat teilweise ihre Tücken, mal sehen, ob man damit klar kommt, bei umfangreichen Graphen.
[Behoben im folgenden Beitrag...]


(Die "0" hier wegdenken, das mit dem "Pfeil" besser auch bleiben lassen)

MWE, das jetzt noch in den Hauptcode eingepflegt werden muss.
latex
\documentclass[margin=5mm, tikz]{standalone}
\usetikzlibrary{angles} 
%\usetikzlibrary{quotes, babel}
\usepackage{pgfplots}
\usepgfplotslibrary{patchplots}
\pgfplotsset{compat=1.13}
 
 
\begin{document}
 
\begin{tikzpicture}
\begin{axis}[hide axis,  
colormap={Kantenfarbe}{color=(gray) color=(gray)},
%width=7cm, height=3cm, 
]
 
% Zeichnung der Punkte =====================
\addplot+[
mark size=1.125pt, mark options={red}, 
table/row sep=\\, 
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={%
Startpkt Endpkt colordata \\%colordata weglassen
1 2 \\%  
1 1 \\%  
1 2 \\% 
2 3  \\%
3 4  \\%
}
]
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y           \\
0 0 0            \\%0: 0. Aliaspunkt 
1 1 3             \\%1
2 0 2              \\%2
3 2 2              \\%3
4 2 1              \\%4
};
 
% Beschriftungen  ============================
 
% Anzeigen des 0. Aliaspunktes verhindern:
\newcommand\Punktnummer{\pgfmathparse{\punktnummer>0 ? \punktnummer : ""}\pgfmathresult}
 
\addplot[only marks,
visualization depends on={value \thisrowno{0} \as \punktnummer},
nodes near coords={\Punktnummer},
% 
nodes near coords style={
name=p-\punktnummer,
%alias=p-\punktnummer, 
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\coordindex.south);
},%
%inner sep=0pt, outer sep=0pt
},
] table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y  \\
0 0 0     \\%0: 0. Aliaspunkt 
1 1 3             \\%1
2 0 2              \\%2
3 2 2              \\%3
4 2 1              \\%4
};
 
% Zeichnung der Winkel =====================
\addplot[no marks, 
nodes near coords={},
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
nodes near coords style={%
minimum size=1.0\textwidth, % 12cm %<- großer Wert nötig
overlay,  %<- verhindert (teilweise) WhiteSpace
path picture={%\pgftransformreset
% Winkel zeichnen
\draw pic [angle radius=\Winkelradius,
fill=\Winkelfarbe!50, draw=\Winkelfarbe, %<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
%"aaa", angle eccentricity =-3.0 %<- besser weglassen...
] {angle = P\PunktI--P\Scheitel--P\PunktII};
}},%
]
table[header=true, x expr =0, y expr=0]{
Punkt1 Scheitel Punkt2 Winkelradius Winkelfarbe 
3  2  1    1.2cm    red    
2  3  4    0.6cm    blue   
};
\end{axis}
 
% Test
%\draw[red] (P1) -- (P3);
%
%\draw pic [draw,-,red,angle radius=1cm,fill=red!50] {angle = P3--P2--P1};
%
%\draw pic [draw,-,red,angle radius=1cm,fill=red!50] {angle = P2--P3--P4};
\end{tikzpicture}
\end{document}



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.57, eingetragen 2018-09-11


2018-09-10 22:21 - cis in Beitrag No. 56 schreibt:
... das jetzt noch in den Hauptcode eingepflegt werden muss.

Lösung mit pgfplots (patch plot) - Ergänzung von Winkeln


Erläuterungen zu Knoten & Kanten siehe #32.

Nun Winkel:


Mit Hilfe eines table plot vom Typ
Winkel
table[header=true, x expr =0, y expr=0]{
Punkt1 Scheitel Punkt2    Winkelradius[cm]    Winkelfarbe 
3    2    1     0.5  red    
35  34  33    0.6    blue   
31  32  30    0.5    brown
51  47  19    0.6    orange
45  49  43    1.0    green!50!black
8   9   10    0.5     violet
30 39   41    0.5     yellow
27 26   25   0.5     cyan 
41 42   24    0.5    purple
23 25   24    0.5    pink
29 28  27    0.6     black
};

können nun jede Menge bunte Winkel gezeichnet werden.

Dazu werden den Punkten in der Beschriftungstabelle zunächst Namen zugeordnet und schließlich die Winkel mit der TikZ-Bibliothek angles gezeichnet.


"Zwei auf einen Streich!"

Um ein 'clip'-Problem bei 'path picture' zu beseitigen habe ich
\pgfdeclarelayer{bg}    % declare background layer
\pgfsetlayers{bg,main}  % set the order of the layers (main is the standard)
für Zeichung der Winkel im bg-layer definiert.

D.h., wenn man genau hinsieht, stellt man fest, dass die Winkel im Hintergrund gezeichnet werden, was der Beschriftung zugute kommt; etwa die Winkel bei 42 und 28.




Vollständiges MWE:
latex
%\documentclass[]{article}
\documentclass[margin=5mm, tikz]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{patchplots}
\usetikzlibrary{angles} 
%\usetikzlibrary{quotes, babel}
\pgfplotsset{compat=1.13}
 
% Für die Winkel
\pgfdeclarelayer{bg}    % declare background layer
\pgfsetlayers{bg,main}  % set the order of the layers (main is the standard)
 
 
\begin{document}
 
% Allgemeine Angaben
\pgfplotsset{
x=12mm, y=12mm,  % Maßstab
% Oder Bildmaße
% width=20cm,
% height=5cm,
}
 
\begin{tikzpicture}
\begin{axis}[hide axis, 
colormap={Kantenfarbe}{color=(gray) color=(gray)},
]
 
% Zeichnung der Punkte und Kanten, ohne Beschriftung =========
\addplot+[
% Punkte
mark size=1.125pt, mark options={red}, 
% Kanten
thick, 
table/row sep=\\, % Muss wohl so sein!?
%
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten ===
patch table with point meta={%
Startpkt Endpkt colordata \\%colordata weglassen, dann vermutl. autom. 0
1 1   \\
2 1    \\
3 1    \\
3 2    \\
4 3    \\
4 2    \\
4 43   \\
5 4    \\
5 2    \\
5 37    \\
6 1    \\
7 1    \\
7 6    \\
8 7    \\
8 6    \\
9 7    \\
9 8    \\
10 9    \\
10 8    \\
11 9    \\
11 10    \\
12 11    \\
13 11    \\
13 12    \\
14 13    \\
14 12    \\
15 13    \\
15 14    \\ 
16 15    \\
17 15    \\
17 16    \\
18 17    \\
18 16    \\
19 17    \\
19 18    \\
20 19    \\
21 19    \\
21 20    \\
22 21    \\
22 20    \\
23 21    \\
23 22    \\
24 23    \\
25 23    \\
25 24    \\
26 25    \\
26 24    \\
27 25    \\
27 26    \\
28 27    \\
28 26    \\
29 27    \\
29 28    \\
29 31    \\
30 31    \\
30 29    \\
31 33    \\
32 33    \\
32 31    \\
32 30    \\
33 33    \\
34 35    \\
34 33    \\
34 36    \\
35 33    \\
36 37    \\
36 35    \\
36 38    \\
37 35    \\
38 5    \\ 
38 37    \\
39 32    \\
39 30    \\ 
40 34    \\
40 39    \\
41 39    \\
41 28    \\
42 41    \\
42 24    \\
42 22    \\
43 38    \\
43 40    \\
44 41    \\
44 42    \\
44 49    \\
44 51    \\
45 6    \\
45 3    \\
46 14    \\
46 12    \\
46 48    \\
47 18    \\
47 16    \\
48 10    \\
48 45    \\
48 50    \\
49 45    \\
49 43    \\
49 40    \\
50 47    \\
50 46    \\
50 51    \\
51 20    \\
51 47    \\
}
% Koordinaten ===
]
table[header=true, x index=1, y index=2, row sep=\\] {
Nr  x     y        Textposition \\
0  0    0           south       \\% Default
1 -1.23 4.58                  \\
2 -2.01 3.95               \\
3 -1.07 3.59    north     \\% Änderung
4 -1.85 2.96    south         \\% Default wiederholen
5 -2.78 3.32             \\
6 -0.97 3.62             \\
7 -0.27 4.32             \\
8 -0.01 3.36             \\
9 0.70 4.06             \\
10 0.96 3.10             \\
11 1.67 3.81             \\
12 1.34 2.86             \\
13 2.32 3.05             \\
14 1.99 2.10             \\
15 2.97 2.29             \\
16 2.04 1.93   north          \\
17 2.81 1.30   south          \\
18 1.88 0.95             \\
19 2.66 0.31             \\
20 1.66 0.43             \\
21 2.06 -0.49             \\
22 1.06 -0.37             \\
23 1.46 -1.29             \\
24 0.96 -0.42    north     \\
25 0.46 -1.28    south     \\
26 -0.04 -0.41             \\
27 -0.54 -1.28             \\
28 -1.04 -0.41   north        \\
29 -1.54 -1.27   south          \\
30 -1.16 -0.35             \\
31 -2.15 -0.48             \\
32 -1.77 0.44             \\
33 -2.76 0.32             \\
34 -1.90 0.82             \\
35 -2.77 1.32             \\
36 -1.90 1.82             \\
37 -2.77 2.32             \\
38 -1.91 2.82   north        \\
39 -0.77 0.57   south          \\
40 -1.16 1.50             \\
41 -0.08 -0.14             \\
42 0.66 0.54    north         \\
43 -0.97 2.48   south          \\
44 -0.30 0.83             \\
45 -0.81 2.63             \\
46 1.01 1.92             \\
47 1.10 1.58             \\
48 0.18 2.48             \\
49 -0.21 1.83             \\
50 0.11 1.48             \\
51 0.69 0.67             \\
};
 
% Angabe der Beschriftungen  ===========
 
% Anzeigen des 0. Aliaspunktes verhindern:
\newcommand\Punktnummer{\pgfmathparse{\punktnummer>0 ? \punktnummer : ""}\pgfmathresult}
 
\addplot[
only marks,
visualization depends on={value \thisrowno{0} \as \punktnummer},
visualization depends on={value \thisrowno{3} \as \Anker},
nodes near coords={\Punktnummer},
%
% Punkten Koordinaten zuordnen für evtuelle spätere Winkel ===
%visualization depends on={value \thisrowno{0} \as \punktnummer},
%nodes near coords={}, 
nodes near coords style={
name=p-\punktnummer,
%alias=p-\punktnummer, 
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\Anker);
},  %inner sep=0pt, outer sep=0pt
},
% ===
% Stil der Beschriftungen
nodes near coords style={
font=\scriptsize,   %\sffamily
text=black,
anchor=\Anker
},
% Koordinatentabelle wiederholen
] table[header=true, x index=1, y index=2, row sep=\\] {
Nr  x     y        Textposition \\
0  0    0           south       \\
1 -1.23 4.58                  \\
2 -2.01 3.95               \\
3 -1.07 3.59    north     \\
4 -1.85 2.96    south         \\
5 -2.78 3.32             \\
6 -0.97 3.62             \\
7 -0.27 4.32             \\
8 -0.01 3.36             \\
9 0.70 4.06             \\
10 0.96 3.10             \\
11 1.67 3.81             \\
12 1.34 2.86             \\
13 2.32 3.05             \\
14 1.99 2.10             \\
15 2.97 2.29             \\
16 2.04 1.93   north          \\
17 2.81 1.30   south          \\
18 1.88 0.95             \\
19 2.66 0.31             \\
20 1.66 0.43             \\
21 2.06 -0.49             \\
22 1.06 -0.37             \\
23 1.46 -1.29             \\
24 0.96 -0.42    north     \\
25 0.46 -1.28    south     \\
26 -0.04 -0.41             \\
27 -0.54 -1.28             \\
28 -1.04 -0.41   north        \\
29 -1.54 -1.27   south          \\
30 -1.16 -0.35             \\
31 -2.15 -0.48             \\
32 -1.77 0.44             \\
33 -2.76 0.32             \\
34 -1.90 0.82             \\
35 -2.77 1.32             \\
36 -1.90 1.82             \\
37 -2.77 2.32             \\
38 -1.91 2.82   north        \\
39 -0.77 0.57   south          \\
40 -1.16 1.50             \\
41 -0.08 -0.14             \\
42 0.66 0.54    north         \\
43 -0.97 2.48   south          \\
44 -0.30 0.83             \\
45 -0.81 2.63             \\
46 1.01 1.92             \\
47 1.10 1.58             \\
48 0.18 2.48             \\
49 -0.21 1.83             \\
50 0.11 1.48             \\
51 0.69 0.67             \\
};
%  ============================
 
 
% Zeichnung der Winkel =====================
\addplot[no marks, 
nodes near coords={},
%visualization depends on={value \thisrowno{0} \as \punktnummer},
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
nodes near coords style={%
%minimum size=2\textwidth, % 12cm %<- nicht nötig
%overlay,  %<- nicht nötig
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg}    % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,
fill=\Winkelfarbe!50, draw=\Winkelfarbe, %<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =0, y expr=0]{
Punkt1 Scheitel Punkt2    Winkelradius[cm]    Winkelfarbe 
3    2    1     0.5    red    
35  34  33    0.6    blue   
31  32  30    0.5    brown
51  47  19    0.6    orange
45  49  43    1.0    green!50!black
8   9    10    0.5     violet
30 39  41    0.5     yellow
27 26   25   0.5     cyan 
41 42   24    0.5    purple
23 25   24    0.5    pink
29 28  27    0.6     black
};
%  ============================
 
\end{axis}
 
%\draw pic [angle radius=1cm,fill=red!50, draw=red] {angle = P27--P26--P25};
 
\end{tikzpicture}
 
\end{document}



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.58, vom Themenstarter, eingetragen 2018-09-11


Sehr gute Arbeit, cis! smile

Als Dank erhälst du deine Babyschildkröte lebend zurück. Ich halte mich nun mal an Abmachungen. biggrin



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.59, eingetragen 2018-09-11


2018-09-11 19:42 - Slash in Beitrag No. 58 schreibt:
Sehr gute Arbeit, cis! smile

Als Dank erhälst du deine Babyschildkröte lebend zurück. Ich halte mich nun mal an Abmachungen. biggrin

... aus der ich sofort eine Schildkrötensuppe machen werde.

Jetzt noch die Absegnung von Stefan Vogel abwarten, der hat die Daten und kann ein Realbeispiel testen.

Wenn das hier intern auch gehen soll sind 3 Erweiterungen nötig, über die ich aber alle den Überblick habe.





  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.60, eingetragen 2018-09-12


@ #57



Da jetzt alle Punkte benannt sind, kann man auch alle möglichen Annotationen ergänzen.

Mit z.B.
\draw[violet, very thick] (P39) -- (P40) -- (P49) -- (P43);
\draw[violet, thick, densely dashed, -latex] (P45) -- (P8);
\draw[thick, orange] (P7) circle[radius=8mm];
\node[right, red, draw] at (P11){Wichtig!};
\foreach \k in {10,48,12,13,48,50,46,14,15,47,16} \fill[] (P\k) circle[radius=2pt];
\draw[green!50!black, latex-] (P21) -- ([xshift=7mm, yshift=-5mm]P21)  node[below]{Text};
\begin{pgfonlayer}{bg}
\fill[yellow] (P51) -- (P20) -- (P19) -- (P18) -- (P47) -- cycle;
\end{pgfonlayer}
wird:




  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.61, vom Themenstarter, eingetragen 2018-09-13


Sehr gut, cis. Das wird ja immer besser.

Das Farbproblem habe ich jetzt mit \definecolor gelöst, z.B. "\definecolor{Kantenfarbe}{rgb}{0.8,0.7,0.3}". Dann kann man den Farbwert einfach anpassen, trotz Bug. Nachteil ist, dass man für fast jeden Graphen eine eigene Kantenfarbe definieren muss. Ist also nur eine Notlösung.

Wie würdest du es lösen, wenn neben dem Graph eine Liste mit Erläuterungen, wie Kantenlänge, Winkel, etc. stehen soll? Mit Minipage?



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.62, eingetragen 2018-09-13


2018-09-13 17:48 - Slash in Beitrag No. 61 schreibt:
a. Das Farbproblem habe ich jetzt mit \definecolor gelöst, z.B. "\definecolor{Kantenfarbe}{rgb}{0.8,0.7,0.3}".

b. Wie würdest du es lösen, wenn neben dem Graph eine Liste mit Erläuterungen, wie Kantenlänge, Winkel, etc. stehen soll? Mit Minipage?

a. Das entspricht im Grunde meinem colormap={Kantenfarbe}{color=(gray) color=(gray)}. Ich verwende nur lieber colornames, da ich mir eher sowas wie 'purple' als drei Zahlen rgb merken kann.

Anmerkung:

· Auch bei Mischfarben, kann ich mir einfacher sowas wie Prozentmischfarben 'red!50!green!20!brown' vorstellen, als dieses rgb. Ob man das jetzt nochmal mit
'\definecolor{<Name>}{<Farbsystem>}{<Wert>}'
unter einem Namen abspeichert spielt eigentlich keine Rolle.

· Ich weiß gar nicht, wozu man dieses rgb überhaupt noch braucht (außer vll. bei komplizierten Farbanwendungen wie ein Lichtspektrum). Ansonsten ist das für mich ein Relikt aus vergangenen Jahrzehnten.

Normalerweise legt man umfangreichere colormaps fest, etwa
colormap={mycolormap}{
color(0)=(black);
color(1)=(blue);
color(2)=(red);
color(3)=(orange);
%color(10)=(black)   %
},


und kann nun mit Indexzahlen meta / colordata darauf zugreifen.

Normalerweise geht das, bloß hier wird es in patch table with point meta verwendet  und liefert teils komische Ergebnisse.

Falls es ein Bug ist, kann das nur der Paketautor lösen.

Ich empfehle bis dahin, colormap  nur zu verwenden, um eine Defaultfarbe festzulegen; bei mir 'hellgrau' (s.o.).

Und, solange nur einzelne wenige Kanten gefärbt werden sollen, das als Annotation zu machen ----> #60.




b. Am elegantesten dürfte eine Lösung sein, bei der man das Bruderpaket pgfplotstable von pgfplots verwendet.

Da sollte man Lösungen finden, wo z.B. jemand 'y=x²' geplottet hat und dabeneben eine Wertetabelle xy angeben wollte.

Das ist hier an sich nichts anderes.

Auch Platzierungsprobleme, die man sonst mit subfigure oder minipage löst, sollten hier direkt wegfallen.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.63, eingetragen 2018-09-18


Selbstverständlich lässt sich der Graph
LinkStreichholzgraphen 4-regulär und 4/n-regulär (n>4) und 2/5
auch mit dem pgfplots-Makro (#57) umsetzen.

Allerdings erstmal nur unvollständig, was die Kanten angeht:

Es dürfen nicht zu 482 Punkten Kantenverbindungen angegeben werden, wenn nur 376 Punkte in der Koordinatentabelle stehen.

Aber das werdet ihr Streichholzgrapher schon lösen: Aliaspunkte etc.

PS: Wenn es klappt, kann ich vll. nochmal eine massive Einsparung ergänzen; dass man die Koordinatentabelle zweimal braucht hat von anfang an gestört.

_____________________________

Bis auf Feinschliffe (Textposition, Winkel):




Hinweis: Natürlich kann man die Beschriftung, wie im Link, auch weglassen, indem man nodes near coords={\Punktnummer} zu nodes near coords={} ändert, nur hätte man dann hier wenig gesehen.

latex
Der Code ist zu lang, bitte aufteilen oder kürzen
----> Quote klicken, um Code zu sehen.







  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.64, eingetragen 2018-09-18


€dit:

Nochmal genauer:

· In diesen Tabellen darf kein Punkt stehen, zu dem es keine Nummer nebst Koordinatenpaar gibt
Kanten
Startpkt Endpkt colordata \\%colordata weglassen, dann vermutl. autom. 0
1 1   \\
2 1    \\
3 1    \\
3 2    \\
4 3    \\
4 2    \\
...

Winkel
Punkt1 Scheitel Punkt2    Winkelradius[cm]    Winkelfarbe 
3    2    1     0.5  red    
35  34  33    0.6    blue   
31  32  30    0.5    brown
....
....
....


· Also sollten in dieser Tabelle genau 482+1 Koordinaten angegeben sein:
Knoten und Beschriftungen
Nr  x     y    Textposition \\
0  0    0      south         \\% Default
1 -1.23 4.58                 \\
2 -2.01 3.95                 \\
3 -1.07 3.59   north       \\% Änderung
4 -1.85 2.96   south       \\% Default wiederholen
....
....
....
....
482 -3.85 2.12            \\

Abgesehen davon sind diese Tabellen ja wohl weit einfacher gehalten und leichter auslesbarer (aus irgendeinem Erstellungsprogramm) als
Punkte fedgeo
p(-5.67,16.54,P1)
p(-4.81,16.04,P2)
p(-4.81,17.04,P3)
...
Kanten fedgeo
s(P403,P271) s(P406,P271) 
s(P301,P299) 
s(P406,P301) s(P407,P301) 
s(P383,P378) s(P379,P378) s(P384,P378)
...
Winkel fedgeo
color(#008000) m(P6,P7,MA10) m(P7,P30,MB10) b(P12,MA10,MB10)
color(#FFA500) m(P30,P31,MA11) m(P31,P32,MB11) b(P31,MA11,MB11)
color(#0000FF) m(P3,P1,MA12) m(P1,P4,MB12) b(P1,MA12,MB12)
...


Also müsst ihr Streichholzskulpturenbauer eben mal anfangen gescheite Tabellen zu erstellen...



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.65, eingetragen 2018-09-19


Titelvorschlag:

Streichholzgraphen mit pgfplots, TikZ/pgf



Bitte ändern.




[Verschoben aus Forum 'Kombinatorik' in Forum 'Graphentheorie' von cis]



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.66, vom Themenstarter, eingetragen 2018-09-19


Ja, der Titel darf gern geändert werden. Danke für deinen Einsatz cis. Dir wird in den nächsten Tagen ein Schoko-Streichholzgraph zugestellt. cool

EDIT: Ich konnte den Titel selbst ändern. smile



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.67, eingetragen 2018-09-19


Lösung mit pgfplots (patch plot) - Vereinfachung und Einsparung



Bisher: Punkte, Kanten, Winkel und Annotationen
Neu (v3.0) Nur noch eine Koordinatentabelle.


· Murmeltier hat ein Unterprogramm geschrieben, was ein seltsames Verhalten von \usepgfplotslibrary{patchplots} behebt.
Dieses habe ich teilweise ergänzt und in den Hauptcode eingepflegt.

· Das hat zur Folge, dass nur noch eine Koordinatentabelle (für Punkte und Beschriftungen) benötigt wird; die Einsparung dadurch ist enorm: z.B. bei 1000 Punkten reduziert sich der Codeumfang ca. auf die Hälfte.

· Darüber hinaus kann auf die bisherige Spalte Textposition in der Koordinatentabelle verzichtet werden.
Stattdessen bedarf es einer 'Defaultposition' für die Beschriftungen.
Beschriftungen, die an eine 'Ausnahmeposition' gesetzt werden sollen,  können bequem in einer 'Ausnahmeliste' eingetragen werden (das erspart Suche in den Tabellen):
% Eingaben ===========================
\def\DefaultTextposition{south} % south west   % etc. 
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,3,16}

Das Unterprogramm ist sogar so erweiterbar, dass eine induviduelle Ausnahmeposition von Ausnahmepunkt zu Ausnahmepunkt eingegeben werden kann; doch hier vielleicht erstmal soweit so gut.
 
· Zudem habe ich Platzhalter
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
% ===========================
ergänzt.

· Sollten einzelne Kanten (Punkte, Flächen) hervorgehoben werden müssen, so sollte dies als Annotation geschehen (vgl. Minimalbeispiel unten).


· Man braucht also folgende Tabellen:
  - genau eine Tabelle Koordinaten (ehemals zwei)
  - genau eine Tabelle Kantenverbindungen
  - genau eine Tabelle Winkel
die in folgender Reihenfolge im Code stehen:

Kanten
Startpkt Endpkt colordata \\%colordata weglassen, dann vermutl. autom. 0
1 1   \\
2 1    \\
3 1    \\
...
Sollten hier von einem Punkt keine Kanten ausgehen, so muss dieser in der Form  1 1 \\ eingetragen werden; da er sonst nicht gezeichnet wird und Fehlermeldungen kommen können!

Punkte
Nr x    y    \\
0  0    0      \\%0 
1 -1.23 4.58   \\%1
2 -2.01 3.95   \\%2
3 -1.07 3.59   \\%3 
4 -1.85 2.96   \\%... 
....
....
482 -3.85 2.12 \\%482
Jeder Punkt, der in den beiden anderen Tabellen verwendet werden soll, muss hier -ohne Ausnahme- eingetragen sein!

Winkel
Punkt1 Scheitel Punkt2    Winkelradius[cm]    Winkelfarbe 
3   2   1     0.5    red    
35  34  33    0.6    blue   
31  32  30    0.5    brown
....



Willkürliches Minimalbeispiel:


latex
% Streichholzgraphen mit pgfplots, TikZ/pgf  
% v3.0b
\documentclass[margin=5mm, tikz]{standalone}
\usetikzlibrary{angles} 
%\usetikzlibrary{quotes, babel}
\usepackage{pgfplots}
\usepgfplotslibrary{patchplots}
\pgfplotsset{compat=1.13}
 
 
% Eingaben ===========================
\def\DefaultTextposition{south} % south west   % etc. 
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,3,16}
 
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{-1.23, 4.58}} % 0,0
 
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
 
\def\Beschriftung{\punktnummer} % \punktnummer  oder {} leer
 
\pgfplotsset{
x=12mm, y=12mm,  % Maßstab
% width=20cm,  height=5cm, % oder Bildmaße
}
% ===========================
 
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl) 
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren: 
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern 
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
 
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der  Winkel
\pgfdeclarelayer{bg}    % declare background layer
\pgfsetlayers{bg,main}  % set the order of the layers (main is the standard
 
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
 
\begin{tikzpicture}[]
% Punkte und Kanten ========================
\begin{axis}[hide axis, 
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt, 
mark options={Punktfarbe}, 
table/row sep=newline, 
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata  \\
1 1   \\  2 1    \\
3 1    \\
3 2    \\
4 3    \\
4 2    \\
5 4    \\
5 2    \\
6 1    \\
7 1    \\
7 6    \\
8 7    \\
8 6    \\
9 7    \\
9 8    \\
10 9    \\
10 8    \\
11 9    \\
11 10    \\
12 11    \\
13 11    \\
13 12    \\
14 13    \\
14 12    \\
15 13    \\
15 14    \\ 
16 15    \\
17 15    \\
17 16    \\
18 17    \\
18 16    \\
19 17    \\
19 18    \\
20 19    \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black, font=\scriptsize, 
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y                  \\
0 0 0                    \\% 0 Aliaspunkt
1 -1.23 4.58             \\%1
2 -2.01 3.95              \\%2
3 -1.07 3.59             \\% 3
4 -1.85 2.96             \\% ...
5 -2.78 3.32             \\
6 -0.97 3.62             \\
7 -0.27 4.32             \\
8 -0.01 3.36             \\
9 0.70 4.06             \\
10 0.96 3.10             \\
11 1.67 3.81             \\
12 1.34 2.86             \\
13 2.32 3.05             \\
14 1.99 2.10             \\
15 2.97 2.29             \\
16 2.04 1.93             \\
17 2.81 1.30             \\
18 1.88 0.95             \\
19 2.66 0.31             \\
20 1.66 0.43             \\
};
% ===================================
 
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg}    % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,
fill=\Winkelfarbe!40, draw=\Winkelfarbe, %<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
%"aaa", angle eccentricity =-3.0 %<- besser weglassen...
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe 
6    7    8         0.5    violet    
2    1    3         0.5
18  19  20       0.7    green!50!black
3    4    5        0.4    blue
};
 
\end{axis}
 
% Annotationen
\node[above=3mm,  align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
\draw[purple, very thick] (P8) -- (P10) node[near start, below,  align=center, font=\tiny]{Wichtige \\ Kante};
\begin{pgfonlayer}{bg}
\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
\end{pgfonlayer}
 
\foreach \n in \AusnahmeListe
\draw[cyan] (P\n) circle (3pt) 
\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi   ;
 
\end{tikzpicture}
\end{document}



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.68, vom Themenstarter, eingetragen 2018-09-19


Einen weiteren Dank schickt die Streichholz-Crew per Eilbrief an Murmeltier.

"Bla, bla, bla... Murmeltier wir danken Dir!" cool



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.69, eingetragen 2018-09-19


Jajaja, nie gebührt mir das Primärlob - leckt mich doch!  razz

Wann ist mit gescheiten, vollständigen Tabellen von den Streichholzskulpturbauern zu rechnen?



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.70, vom Themenstarter, eingetragen 2018-09-20


Hast du etwa den Schoko-Streichholzgraph vergessen?  mad

Außerdem - Du wirst hier im Forum schon genug gelobt ...oder war das gemobbt? Egal, nach dem Frühstück nimmst du dir erstmal den Mopp und wischt mal schnell durch das Seniorenheim. Und nicht den dreckigsten Ort vergessen - das Damenklo. Und kein Techtelmechtel mit viertel in der Besenkammer! cool

Stefan muss das wohl erst in sein Programm integrieren, damit ich/wir es nutzen kann/können. Vielleicht geht es aber auch schon so, muss mal probieren.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.71, eingetragen 2018-09-20


2018-09-20 01:24 - Slash in Beitrag No. 70 schreibt:
Hast du etwa den Schoko-Streichholzgraph vergessen?  mad

Ja schön...  
Murmeltier habe ich bereits im Namen der Streichholzgrapher das goldene Streichholz verliehen.

Von Stefan Vogel hat man lange nichts gehört.

Wenn er als Senior diese Hetzkampagne gegen mich verfolgt hat, hat er jetzt eh Angst vor mir.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.72, eingetragen 2018-09-20


Wieso gehen in diesem Beispiel LinkStreichholzgraphen 4-regulär und 4/n-regulär (n>4) und 2/5 (#1431) die Punktbezeichnungen von P1 bis P531, wenngleich nur 412 Punkte in der Liste stehen?
Der erste fehlende Punkt ist P149....


__________________________________

2018-09-20 07:36 - haribo in Beitrag No. 1432 schreibt:
I. zeichnest du nochmal deine aktuellen winkel farbig ein?

II.  bitte und fals möglich die grauen punktbezeichnungen weitgehend aus

I.  Kein Kommentar.

II.  Ich habe in #67, v3.0a einen Platzhalter
\def\Beschriftung{\punktnummer} % \punktnummer  oder {} leer
ergänzt.

So kann man problemlos auch keine Beschriftung anzeigen.

% Eingaben ===========================
\def\DefaultTextposition{south} % south west   % etc. 
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,3,16}
 
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
 
\def\Beschriftung{\punktnummer} % \punktnummer  oder {} leer
 
\pgfplotsset{
x=12mm, y=12mm,  % Maßstab
% width=20cm,  height=5cm, % oder Bildmaße
}
% ===========================



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.73, vom Themenstarter, eingetragen 2018-09-20


2018-09-20 15:23 - cis in Beitrag No. 72 schreibt:
Wieso gehen in diesem Beispiel LinkStreichholzgraphen 4-regulär und 4/n-regulär (n>4) und 2/5 (#1431) die Punktbezeichnungen von P1 bis P531, wenngleich nur 412 Punkte in der Liste stehen?
Der erste fehlende Punkt ist P149....

Es wurden hier Punkte zusammengefasst, die beim Kopieren überlagert wurden.

Ich kann deine guten Ideen/Arbeiten mit pgfplots erst (einfach) nutzen, wenn Stefan diese ins Programm integriert hat (glaube ich). Das wäre jetzt fürs Forum viel Arbeit für mich, wenn ich nur einen Graphen poste, bei dem es hauptsächlich um den Programmcode geht, der mit einem Klick auf die fedgeo Grafik ersichtlich ist. Für unsere LaTeX Artikel werde ich auf jdeden Fall pgfplots nutzen. Sei daher bitte nicht enttäuscht, wenn weiter (ab und zu) fedgeo gepostet wird. smile



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.74, eingetragen 2018-09-20


2018-09-20 23:25 - Slash in Beitrag No. 73 schreibt:
Ich kann deine guten Ideen/Arbeiten mit pgfplots erst (einfach) nutzen, wenn Stefan diese ins Programm integriert hat (glaube ich).

Sinnvollerweise sollte Stefan Vogel ganz einfach die  in #67 und an früherer Stelle genannten Tabellen auslesen, z.B. in Form von Textdateien Koordinaten.txt, Kanten.txt, Winkel.txt - das sind die absoluten Metadaten, in denen alles weitere drinsteckt.
(Falls das nicht eh geplant ist.)
Bloß müssen die Daten vollständig sein!

Es wäre auch möglich, aber m.E. weniger gut, wenn er ein LaTeX-Dokument gemäß #67 ausliest. Weniger gut, weil es den Code einzementiert.

Auch #67 ist nur eine quasi-finale Version. Ich habe mindestens 3 Ideen, die ich sobald die Tabellendaten vollständig sind nach und nach einarbeiten werde.


PS: Ich bin verwundert, warum in den Koordinaten auch negative Zahlen vorkommen. Kann man die Streichholzgraphen nicht so konstuieren, dass alle Koordinaten positiv sind. Das ist nicht schlimm, aber: Wäre (0,0) der kleinste Punkte, hätte das gewisse graphische Vorteile.



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.75, vom Themenstarter, eingetragen 2018-09-21


2018-09-20 23:45 - cis in Beitrag No. 74 schreibt:
PS: Ich bin verwundert, warum in den Koordinaten auch negative Zahlen vorkommen. Kann man die Streichholzgraphen nicht so konstuieren, dass alle Koordinaten positiv sind. Das ist nicht schlimm, aber: Wäre (0,0) der kleinste Punkte, hätte das gewisse graphische Vorteile.

Ja, mit den reinen Tabellen, die ich dann nur in deinen Code kopieren muss, könnte ich leben. Stefan fuchst das aber schon hin.

Negative Koordinaten ergeben sich (vielleicht) durch das Verschieben/Drehen des Graphen, was dann meine Schuld wäre. Die Position jedes Graphen wird nur durch eine einzige Koordinate vorgegeben, (P1,P2). Wenn sich diese durch Verschieben/Drehen des Graphen ins negative verschiebt, sind oft auch viele anderen Punkte negativ. Alle Punkte >0 zu bekommen ist also ganz einfach durch Änderung von (P1,P2) möglich. Das war bis jetzt aber nie wichtig. Für die Ausgabe der Tabellen kann das also einfach angepasst werden.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.76, eingetragen 2018-09-21


Ja egal, das mit den negativen Werten. Ich habe eine bessere Methode entdeckt: Ich ermittle maximalen und minimalen Wert und  bilde den Mittelwert.

Aber das geht Dich nunmal gar nichts an, wozu ich das brauche.  razz



  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 7047
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.77, vom Themenstarter, eingetragen 2018-09-21


2018-09-21 02:44 - cis in Beitrag No. 76 schreibt:
Aber das geht Dich nunmal gar nichts an, wozu ich das brauche.  razz

Wahrscheinlich um die Zeit tot zu schlagen.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.78, eingetragen 2018-09-21


2018-09-21 04:11 - Slash in Beitrag No. 77 schreibt:
2018-09-21 02:44 - cis in Beitrag No. 76 schreibt:
Aber das geht Dich nunmal gar nichts an, wozu ich das brauche.  razz

Wahrscheinlich um die Zeit tot zu schlagen.

Frechheit!


_____________________________

Das bringt pgfplots sowieso wieder an seine Grenzen.  Deshalb machen wird das vorerst so:

% Möglichst eingeben
\xdef\BeliebigesVorhandenesKoordinatenpaar{{1,2}} % 0,0

Da die Streichholzgrapher seltsame Werte verwenden, muss das -nicht- sein, aber ist besser.

% Eingaben ===========================
\def\DefaultTextposition{south} % south west   % etc. 
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,3,16}
 
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{-1.23, 4.58}} % 0,0
 
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
 
\def\Beschriftung{\punktnummer} % \punktnummer  oder {} leer
 
\pgfplotsset{
x=12mm, y=12mm,  % Maßstab
% width=20cm,  height=5cm, % oder Bildmaße
}
% ===========================



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15394
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.79, eingetragen 2018-09-21


Erläuterung zur ergänzten Version 3.0b, Beitrag #67



Der Winkelplot
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
....
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe 
6    7    8         0.5    violet    
...
};
ist ein reiner Aliasplot; er verwendet Daten aus der Winkeltabelle, mit denen, unter Rückgriff auf die Punktbennungen aus dem Hauptplot, Winkel gezeichnet werden.

Nun will aber pgfplots trotzdem irgendetwas zeichen; dafür sind drei Manipulationen nötig:
no marks % Keine Punkte zeichnen
nodes near coords={}% Keine Beschriftung an keine Punkte setzen

x expr =..., y expr=... % Keine Beschriftung setzen und keine Punkte zeichnen am Ort (..., ...)


Die dritte Manipulation ist der Knackpunkt.
Wählt man z.B. x expr =0, y expr=0 werden keine Beschriftung und keine Punkte am Ort (0,0) gesetzt. Trotzdem ist dieser Ort nun für pgfplots vorhanden!

Nun ist es so, dass die Streichholzgrapher meist seltsame Werte verwenden, d.h. es ist nicht notwendigerweise voraussetzbar, dass (0,0) im Bereich des Graphen liegt.
Das bedeutet: Es kann Whitespace entstehen!

Daher ist es sinnvoll hierfür ein tatsächlich vorhandenes Koordinatenpaar zu benutzen:
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{-1.23, 4.58}} % 0,0
 
% und damit wird verwendet
 
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias







  Profil  Quote  Link auf diesen Beitrag Link
-->> Fortsetzung auf der nächsten Seite -->>
Seite 2Gehe zur Seite: 1 | 2 | 3  
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2018 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]