Probleme mit TikZ - Anpassung eines Würfels

Tabellen und Grafiken erstellen und anordnen


nils_trash@hotmail.com
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 18. Okt 2018, 11:03

Probleme mit TikZ - Anpassung eines Würfels

Beitrag von nils_trash@hotmail.com »

Hallo,

ich sitze aktuell an einer Arbeit für die Uni und möchte meine Grafik gerne ebenfalls in LaTeX erstellen und habe mir dafür über die letzten Tage TikZ angesehen. Ich bekomme den passenden Quelltext nur leider gerade nicht hin, vielleicht kann mir jemand dabei ja helfen.

Mein aktueller Stand:
\documentclass[12pt,a4paper,headsepline]{scrartcl}
\usepackage{tikz}
\begin{document}


\begin{figure}
\centering
\begin{tikzpicture}[scale=3.0,every node/.style={draw=black,circle}]
\node (+++) at (1,1,1) {+\,+\,+};
\node (+-+) at (1,-1,1) {+\,-\,+};
\node (-++) at (-1,1,1) {-\,+\,+};
\node (--+) at (-1,-1,1) {--\,--\,+};
\node (++-) at (1,1,-1) {+\,+\,-};
\node (+--) at (1,-1,-1) {+\,-\,-};
\node (-+-) at (-1,1,-1) {-\,+\,-};
\node (---) at (-1,-1,-1) {-\,-\,-}; 
\newcommand*\kante{1}
\path[scale=\kante]
  (-1,-0.8,2)  coordinate  (Y1)
  (-1,1.5,2)  coordinate  (Y2);
%Kanten
\draw[font=\normalsize]
  (-++) -- (--+)
  (--+) -- (+-+)
  (-++) -- (+++)
  (+++) -- (+-+)
  (-++) -- (-+-)
  (+++) -- (++-)
  (+-+) -- (+--)
  (+--) -- (++-)
  (-+-) -- (++-);
\draw[->, thick]  (Y1) -- node[sloped,above] {Effekt A} (Y2)
;
%\shade[ball color=green] (+++) circle (0.2);
%\shade[ball color=green] (--+) circle (0.2);
\draw[dashed, very thin]
(--+) -- (---)
(---) -- (+--)
(---) -- (-+-);
\end{tikzpicture}
\caption{Test}
\end{figure}

\end{document}

Ich hätte gerne alle Eckpunkte als Kugeln dargestellt, die jeweils einzeln unterschiedlich eingefärbt werden können (so wie ich es mit dem auskommentierten Teil bereits hinbekommen hatte, jedoch weiß ich noch nicht wie ich dann eine Beschriftung wieder hinbekomme)

Weiterhin würde ich gerne zwei weitere Achsen einfügen und diese ordentlich beschriften (Effekt B und Effekt C). Dabei soll die Beschriftung nicht als Kreis sein, sondern ganz normal (ich weiß, aktuell ist sie wegen dem der Definition von node noch so, ich habe leider aber gerade noch keine bessere Idee wegen den Kreisen)

Vielleicht kann mir ja jemand helfen. Vielen Dank!

P.S. Vielleicht hat jemand auch eine Idee, wie die Pfeile optisch besser aussehen und die Kugeln gleich groß sind.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Ein paar Änderungsvorschläge zu Deinem Beispiel:
\documentclass[tikz, border=5pt]{standalone}
\usetikzlibrary{arrows.meta, calc}

\begin{document}
\begin{tikzpicture}[
    >=Stealth,
    scale=3.0,
    font=\sffamily,
    colored ball/.style={draw, circle, ball color=#1, minimum width=1.3cm},
    colored ball/.default=yellow
]
\node [colored ball=green] (+++) at (1,1,1)    {+\,+\,+};
\node [colored ball]       (+-+) at (1,-1,1)   {+\,--\,+};
\node [colored ball=green] (-++) at (-1,1,1)   {--\,+\,+};
\node [colored ball]       (--+) at (-1,-1,1)  {--\,--\,+};
\node [colored ball=green] (++-) at (1,1,-1)   {+\,+\,--};
\node [colored ball]       (+--) at (1,-1,-1)  {+\,--\,--};
\node [colored ball=green] (-+-) at (-1,1,-1)  {--\,+\,--};
\node [colored ball]       (---) at (-1,-1,-1) {--\,--\,--};

%Kanten
\draw
  (-++) -- (--+)
  (--+) -- (+-+)
  (-++) -- (+++)
  (+++) -- (+-+)
  (-++) -- (-+-)
  (+++) -- (++-)
  (+-+) -- (+--)
  (+--) -- (++-)
  (-+-) -- (++-)
;
\draw[->, thick]  
    ($(--+) + (-0.4, -0.2, 0)$) -- 
    node [sloped, above] {Effekt A} 
    ($(-++) + (-0.4, 0.1, 0)$)
;
\draw[dashed, very thin]
    (--+) -- (---)
    (---) -- (+--)
    (---) -- (-+-)
;
\end{tikzpicture}
\end{document}
Zuletzt geändert von Bartman am So 12. Mai 2019, 17:59, insgesamt 1-mal geändert.

nils_trash@hotmail.com
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 18. Okt 2018, 11:03

Beitrag von nils_trash@hotmail.com »

Vielen Dank für die schnelle Hilfe :)

Aus welchem Grund sollte ich die Dokumentklasse ändern?
Ich würde die Abbildung gerne direkt in meine Arbeit einfügen, oder ist dies nicht zu empfehlen?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Ich habe die Dokumentklasse nur für das Beispiel gewechselt, weil Deine Wünsche allein die Zeichnung betreffen.

Die Kugeln sind wegen meiner nachträglichen Ergänzung der Option minimum width nun auch gleich groß.

Zustand eines Themas

nils_trash@hotmail.com
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 18. Okt 2018, 11:03

Beitrag von nils_trash@hotmail.com »

Vielen Dank für die Hilfe.

Ich sitze aktuell daran einzelne Flächen einzufärben, hierfür wollte ich eigentlich

\draw[fill=yellow,opacity=0.6]

verwenden, jedoch bleibt die gewünschte Färbung der Fläche aus. Woran kann dies liegen, bzw. wie müsste ich den Code dafür anpassen?

Ratgeber

Information aus erster Hand

Beitrag von Ratgeber »

nils_trash@hotmail.com hat geschrieben:[…] Ich sitze aktuell daran einzelne Flächen einzufärben, hierfür wollte ich eigentlich […] verwenden, jedoch bleibt die gewünschte Färbung der Fläche aus. Woran kann dies liegen, bzw. wie müsste ich den Code dafür anpassen?
Dann lies mal Abschnitt 15.5 in der Anleitung von »pgf/TikZ«. Da liefert schon die Einleitung ein passendes Beispiel.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Außerdem solltest Du auch noch die Einleitung des Abschnitts 17.11 Connecting Nodes: Using Nodes as Coordinates und zumindest den Anfang des Kapitels 45 Background Library lesen.

Es gibt zudem mehr als eine Möglichkeit, die Option für die Transparenz für mehrere Pfade etwas zusammenzufassen. Eine bietet die Option every path aus dem Kapitel 14 Syntax for Path Specifications mit der Umgebung scope aus dem Abschnitt 12.3.1 The Scope Environment.

nils_trash@hotmail.com
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 18. Okt 2018, 11:03

Re: Information aus erster Hand

Beitrag von nils_trash@hotmail.com »

Ratgeber hat geschrieben:
nils_trash@hotmail.com hat geschrieben:[…] Ich sitze aktuell daran einzelne Flächen einzufärben, hierfür wollte ich eigentlich […] verwenden, jedoch bleibt die gewünschte Färbung der Fläche aus. Woran kann dies liegen, bzw. wie müsste ich den Code dafür anpassen?
Dann lies mal Abschnitt 15.5 in der Anleitung von »pgf/TikZ«. Da liefert schon die Einleitung ein passendes Beispiel.
Wenn ich mich nicht irre habe ich es wie in dem Minibeispiel versucht.
\begin{tikzpicture}[ 
    >=Stealth, 
    scale=1.0, 
font=\sffamily, 
    colored ball/.style={draw, circle, ball color=#1, minimum width=0.6cm}, 
    colored ball/.default=yellow
] 
\node [colored ball] (+++) at (1,1,1) {y$_1$};
\node [colored ball] (++-) at (1,1,-1) {y$_2$}; 
\node [colored ball] (+-+) at (1,-1,1) {y$_3$};
\node [colored ball] (+--) at (1,-1,-1) {y$_4$}; 
\node [colored ball] (-++) at (-1,1,1) {y$_5$};
\node [colored ball] (-+-) at (-1,1,-1) {y$_6$}; 
\node [colored ball] (--+) at (-1,-1,1) {y$_7$};
\node [colored ball] (---) at (-1,-1,-1) {y$_8$}; 
%\newcommand*\kante{1} 
%Kanten 
\draw%[font=\normalsize] 
  (-++) -- (--+) 
  (--+) -- (+-+) 
  (-++) -- (+++) 
  (+++) -- (+-+) 
  (-++) -- (-+-) 
  (+++) -- (++-) 
  (+-+) -- (+--) 
  (+--) -- (++-) 
  (-+-) -- (++-) 
;   
\draw[dashed, very thin] 
    (--+) -- (---) 
    (---) -- (+--) 
    (---) -- (-+-);
\fill[red] (+++) -- (++-) -- (+--) -- (+-+); 
\end{tikzpicture}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Hast Du meinen letzten Beitrag gelesen?

Wenn der Buchstabe und der Index der Beschriftung in serifenloser Schrift sein sollen, dann solltest Du das Paket sansmath laden und die Einstellung der Schrift in font=\sansmath ändern. Die Knoten werden dann z. B. mit $\mathrm{y}_1$ beschriftet.

Für die gestrichelte Andeutung der nicht sichtbaren Kanten des Würfels könntest Du diese entweder in einem Grauton färben oder die Option opacity benutzen.

nils_trash@hotmail.com
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 18. Okt 2018, 11:03

Beitrag von nils_trash@hotmail.com »

Bartman hat geschrieben:Hast Du meinen letzten Beitrag gelesen?

Wenn der Buchstabe und der Index der Beschriftung in serifenloser Schrift sein sollen, dann solltest Du das Paket sansmath laden und die Einstellung der Schrift in font=\sansmath ändern. Die Knoten werden dann z. B. mit $\mathrm{y}_1$ beschriftet.

Für die gestrichelte Andeutung der nicht sichtbaren Kanten des Würfels könntest Du diese entweder in einem Grauton färben oder die Option opacity benutzen.
Ja habe ich, jedoch geht es bei deinen Anmerkungen doch eher um das verbessern des Codes als die Färbung der Flächen, oder?

Antworten