matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenLaTeXGraph mit tikz
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
Forum "LaTeX" - Graph mit tikz
Graph mit tikz < LaTeX < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "LaTeX"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Graph mit tikz: wie geht's am einfachsten?
Status: (Frage) beantwortet Status 
Datum: 22:02 Mo 04.05.2009
Autor: Bastiane

Hallo!

Lange hab' ich mich drum gedrückt, jetzt wollte ich es doch nochmal versuchen, nämlich ein simples neuronales Netz, also nichts anderes als einen Graphen, mit tikz zu zeichnen. Das einzige, was ich bisher hinbekommen habe, ist folgendes:

[Dateianhang nicht öffentlich]

Viel komplexer soll es nicht werden, weiß nicht, ob ich da noch irgendwelche Beschriftungen dran haben will, aber die Verbindungen kann ich so ja nicht stehen lassen. Wie bekomme ich es am einfachsten hin, dass die Linien erst außerhalb der Kreise anfangen?
In einem anderen kleineren Fall habe ich mir den Winkel, in dem die Linie vom Mittelpunkt aus weggeht, berechnet, und dann einfach in dem Winkel im Radiusabstand erst mit der Linie angefangen. Aber hier ist mir das zu umständlich - da muss es doch was einfacheres geben!? [kopfkratz]

Wäre super, wenn mir jemand weiterhelfen könnte. [sunny]

Ach ja, vllt hilft der Quelltext:

1:
2: \node (a) at (0,0);
3: \draw (a) circle (0.5cm);
4: \node (b) at (2,0);
5: \draw (b) circle (0.5cm);
6: \node (c) at (4,0);
7: \draw (c) circle (0.5cm);
8:
9: \node (d) at (-1,-2);
10: \draw (d) circle (0.5cm);
11: \node (e) at (1,-2);
12: \draw (e) circle (0.5cm);
13: \node (f) at (3,-2);
14: \draw (f) circle (0.5cm);
15: \node (g) at (5,-2);
16: \draw (g) circle (0.5cm);
17:
18: \draw (a) -- (d);
19: \draw (a) -- (e);
20: \draw (a) -- (f);
21: \draw (a) -- (g);
22: \draw (b) -- (d);
23: \draw (b) -- (e);
24: \draw (b) -- (f);
25: \draw (b) -- (g);
26: \draw (c) -- (d);
27: \draw (c) -- (e);
28: \draw (c) -- (f);
29: \draw (c) -- (g);


Viele Grüße
Bastiane
[cap]

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
        
Bezug
Graph mit tikz: Antwort
Status: (Antwort) fertig Status 
Datum: 02:08 Di 05.05.2009
Autor: rainerS

Hallo Bastiane!

> Hallo!
>  
> Lange hab' ich mich drum gedrückt, jetzt wollte ich es doch
> nochmal versuchen, nämlich ein simples neuronales Netz,
> also nichts anderes als einen Graphen, mit tikz zu
> zeichnen. Das einzige, was ich bisher hinbekommen habe, ist
> folgendes:
>  
> [Dateianhang nicht öffentlich]
>  
> Viel komplexer soll es nicht werden, weiß nicht, ob ich da
> noch irgendwelche Beschriftungen dran haben will, aber die
> Verbindungen kann ich so ja nicht stehen lassen. Wie
> bekomme ich es am einfachsten hin, dass die Linien erst
> außerhalb der Kreise anfangen?
>  In einem anderen kleineren Fall habe ich mir den Winkel,
> in dem die Linie vom Mittelpunkt aus weggeht, berechnet,
> und dann einfach in dem Winkel im Radiusabstand erst mit
> der Linie angefangen. Aber hier ist mir das zu umständlich
> - da muss es doch was einfacheres geben!? [kopfkratz]
>  
> Wäre super, wenn mir jemand weiterhelfen könnte. [sunny]
>  
> Ach ja, vllt hilft der Quelltext:

In der Tat ;-)

Zunächst einmal erzeugt jedes der node-Kommandos eine Fehlermeldung (A node must have a (possibly empty) label text.), weil {} vor dem Semicolon fehlt.

Das Problem ist, dass die Kreise nichts mit den Knoten zu tun haben. Mal die Knoten als Kreise:

1:
2: \node (a) at (0,0) [minimum size=1cm,circle,draw] {};
3: \node (b) at (2,0) [minimum size=1cm,circle,draw] {};
4: \node (c) at (4,0) [minimum size=1cm,circle,draw] {};
5: \node (d) at (-1,-2) [minimum size=1cm,circle,draw] {};
6: \node (e) at (1,-2) [minimum size=1cm,circle,draw] {};
7: \node (f) at (3,-2) [minimum size=1cm,circle,draw] {};
8: \node (g) at (5,-2) [minimum size=1cm,circle,draw] {};
9:
10: \draw (a) -- (d);
11: \draw (a) -- (e);
12: \draw (a) -- (f);
13: \draw (a) -- (g);
14: \draw (b) -- (d);
15: \draw (b) -- (e);
16: \draw (b) -- (f);
17: \draw (b) -- (g);
18: \draw (c) -- (d);
19: \draw (c) -- (e);
20: \draw (c) -- (f);
21: \draw (c) -- (g);
22:


Viele Grüße
    Rainer

Bezug
                
Bezug
Graph mit tikz: Erklärung dazu erwünscht :-)
Status: (Frage) beantwortet Status 
Datum: 16:16 Di 05.05.2009
Autor: Bastiane

Hallo Rainer!

> Zunächst einmal erzeugt jedes der node-Kommandos eine
> Fehlermeldung (A node must have a (possibly empty) label
> text.), weil {} vor dem Semicolon fehlt.

Stimmt, die Fehlermeldung hatte ich immer. Aber alle Möglichkeiten, die ich ausprobiert hatte, hatten nicht geholfen, deswegen hatte ich es aufgegeben und diesen Fehler erstmal ignoriert. Irgendwie hatte ich es wohl an die falsche Stelle gesetzt...

> Das Problem ist, dass die Kreise nichts mit den Knoten zu
> tun haben. Mal die Knoten als Kreise:

Super, es funktioniert, aber kannst du mir erklären, wie genau das jetzt interpretiert wird? Was heißt denn, ich soll die Knoten als Kreise malen? Ist dann der ganze Kreis ein Knoten? Aber welche Koordinate gehört dann zum Knoten?

>  [mm]\node[/mm] (a) at (0,0) [minimum size=1cm,circle,draw] {};

Was genau bedeutet das in den eckigen Klammern bzw. welche Optionen gäbe es da noch? Warum z. B. "minimum size", eigentlich wollte ich es genau 1 cm groß haben bzw. der Radius sollte glaub' ich 1cm sein. Und wenn ich z. B. das ganze Bildchen jetzt kleiner haben will und dafür [scale=0.6] eingebe, dann macht er alles kleiner, nur die Kreise bleiben gleich groß.

> [mm]\draw[/mm] (a) -- (d);

Und wieso schafft er es jetzt, erst "außerhalb" der Kreise mit den Linien anzufangen? Und was mich noch wundert, irgendwie scheint der ganze Kreis als Koordinate (0,0) z. B. gewertet zu werden. Wenn ich z. B. oben an den Kreis noch eine kurze Linie zeichne, dann reicht es, zu sagen, dass ich von dem Kreis, wenn er die Koordinate (0,0) hat, einfach nach (0,0.5) zeichne. Eigentlich müsste solch eine Linie doch im Kreis versteckt sein, jedenfalls wenn ich es so interpretiere, wie ich es vorher gezeichnet hatte, dass nämlich der Kreismittelpunkt die Koordinate (0,0) hat.

Aber deine Antwort hat mir die Arbeit schon sehr erleichtert. Gibt es solche einfachen Sachen irgendwo zum Nachlesen? Ich hab' bisher nur komplexe Beispiele und ohne grundlegende Erklärungen gefunden. :-(

Viele Grüße
Bastiane
[cap]

Bezug
                        
Bezug
Graph mit tikz: Antwort
Status: (Antwort) fertig Status 
Datum: 19:12 Di 05.05.2009
Autor: rainerS

Hallo Bastiane!

> Hallo Rainer!
>  
> > Zunächst einmal erzeugt jedes der node-Kommandos eine
> > Fehlermeldung (A node must have a (possibly empty) label
> > text.), weil {} vor dem Semicolon fehlt.
>  
> Stimmt, die Fehlermeldung hatte ich immer. Aber alle
> Möglichkeiten, die ich ausprobiert hatte, hatten nicht
> geholfen, deswegen hatte ich es aufgegeben und diesen
> Fehler erstmal ignoriert. Irgendwie hatte ich es wohl an
> die falsche Stelle gesetzt...
>  
> > Das Problem ist, dass die Kreise nichts mit den Knoten zu
> > tun haben. Mal die Knoten als Kreise:
>  
> Super, es funktioniert, aber kannst du mir erklären, wie
> genau das jetzt interpretiert wird? Was heißt denn, ich
> soll die Knoten als Kreise malen? Ist dann der ganze Kreis
> ein Knoten? Aber welche Koordinate gehört dann zum Knoten?

Ein Knoten (node) ist ein Objekt, sagen wir mal, ein Stück Text, das an der aktuellen Position eingefügt wird. Der Text steht in {}, in deinem Fall hast du also leeren Text. Außerdem hat der Knoten eine Form (rectangle, circle, ...) und eine Mindestgröße (Mindesthöhe und -breite). Der Knoten wird aber automatisch so groß wie der Text, wenn dessen Größe die Mindestgröße überschreitet.

In deiner Eingabe hat er wohl wegen der fehlenden {} ein Leerzeichen als Text genommen und dann für den Knoten ein entsprechendes Rechteck vorgesehen. Ohne die Option draw wird kein Rahmen gemalt, also war dein Knoten ein weißes Rechteck auf weißen Grund. Um das zu sehen, kannst du

 \node (a) at (0,0) [draw] {} 

probieren, dann wird der Rand gezeichnet.

Mit der Anweisung \draw (a) circle (0.5cm); zeichnest du einen Kreis vom Radius 0,5cm um die Koordinate des Knotens (a). Mit \draw (a) -- (d); zeichnest du eine Linie vom Rand des Knotens (a) zum Rand des Knotens (b). Der Rand des Knotens ist der Rand des kleinen Rechtecks, nicht des Kreises.

> >  [mm]\node[/mm] (a) at (0,0) [minimum size=1cm,circle,draw] {};

>  
> Was genau bedeutet das in den eckigen Klammern

Der Knoten soll mindestens 1cm groß sein, Kreisform haben, der Rand soll gezeichnet werden. Der Effekt ist eine Kreislinie mit Durchmesser 1cm.

> bzw. welche
> Optionen gäbe es da noch? Warum z. B. "minimum size",

Wie geschrieben, weil sonst die Größe nur durch den Text in {} automatisch festgelegt wird.

> eigentlich wollte ich es genau 1 cm groß haben bzw. der
> Radius sollte glaub' ich 1cm sein. Und wenn ich z. B. das
> ganze Bildchen jetzt kleiner haben will und dafür
> [scale=0.6] eingebe, dann macht er alles kleiner, nur die
> Kreise bleiben gleich groß.

scale= ist eine Koordinatentransformation; diese wirken nur auf die Koordinaten der Objekte, nicht auf ihre Größe.

>  
> > [mm]\draw[/mm] (a) -- (d);
>  
> Und wieso schafft er es jetzt, erst "außerhalb" der Kreise
> mit den Linien anzufangen? Und was mich noch wundert,
> irgendwie scheint der ganze Kreis als Koordinate (0,0) z.
> B. gewertet zu werden. Wenn ich z. B. oben an den Kreis
> noch eine kurze Linie zeichne, dann reicht es, zu sagen,
> dass ich von dem Kreis, wenn er die Koordinate (0,0) hat,
> einfach nach (0,0.5) zeichne. Eigentlich müsste solch eine
> Linie doch im Kreis versteckt sein, jedenfalls wenn ich es
> so interpretiere, wie ich es vorher gezeichnet hatte, dass
> nämlich der Kreismittelpunkt die Koordinate (0,0) hat.

Richtig. Bei Koordinaten bedeutet (a) den Mittelpunkt. Knoten sind die Ausnahme, vermutlich weil die meisten Nutzer es so praktisch finden. Wenn du es genau angeben willst, wo die Linie anfängt, kannst du zum Beispiel (a.center) statt (a) für den Mittelpunkt nehmen, oder (a.south), um unten in der Mitte anzufangen.

Schau mal in die Tutorien im TikZ-Handbuch, und für die Details zu Knoten in Kapitel 15.

Viele Grüße
   Rainer

Bezug
                                
Bezug
Graph mit tikz: Größe ändern
Status: (Frage) beantwortet Status 
Datum: 20:52 Do 07.05.2009
Autor: Bastiane

Hallo Rainer!

> Der Knoten soll mindestens 1cm groß sein, Kreisform haben,
> der Rand soll gezeichnet werden. Der Effekt ist eine
> Kreislinie mit Durchmesser 1cm.
>  
> > bzw. welche
> > Optionen gäbe es da noch? Warum z. B. "minimum size",
>
> Wie geschrieben, weil sonst die Größe nur durch den Text in
> {} automatisch festgelegt wird.

Und was schreibe ich, wenn ich ihn genau 1 cm groß haben will? Oder höchstens?
  

> > eigentlich wollte ich es genau 1 cm groß haben bzw. der
> > Radius sollte glaub' ich 1cm sein. Und wenn ich z. B. das
> > ganze Bildchen jetzt kleiner haben will und dafür
> > [scale=0.6] eingebe, dann macht er alles kleiner, nur die
> > Kreise bleiben gleich groß.
>  
> scale= ist eine Koordinatentransformation; diese wirken nur
> auf die Koordinaten der Objekte, nicht auf ihre Größe.

Und wie bekomme ich nun so ein ganzes Bildchen kleiner? Was muss ich da wo eingeben?

Viele Grüße
Bastiane
[cap]

Bezug
                                        
Bezug
Graph mit tikz: Antwort
Status: (Antwort) fertig Status 
Datum: 22:09 Do 07.05.2009
Autor: Stefan_K

Hallo Bastiane,

durch die scale-Option kannst Du tikz-Bilder verkleinern, zusätzlich empfiehlt sich die Option transform shape:

\begin{tikzpicture}[scale=0.5, transform shape] ...

Viele Grüße,

Stefan


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "LaTeX"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]