Anzeige:
Ergebnis 1 bis 2 von 2

Thema: TikZ Pie Chart Textfarben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    15.04.2007
    Beiträge
    20

    TikZ Pie Chart Textfarben

    Hallo liebe Tech-Freaks,
    ich hänge mal wieder an einem Problem bei dem ich Eure Hilfe benötige.

    Habe ich mein Pie Chart als Kuchendiagramm, kann ich die Textfarbe der Beschriftung zwischen Schwarz und Weiß "umschalten". Ich würde aber gerne die "Cloud" Darstellung nehmen, hier funktioniert das aber nicht mehr. Der Tipp wie ich überhaupt die Textfarben ändern kann kam auch von Euch. Ich hoffe Ihr könnt mir wieder weiterhelfen.

    Code:
    \documentclass{article}
    \usepackage{pgf-pie,etoolbox}	
    
    \makeatletter
    \newcommand*\split@colors{}
    \def\split@colors#1/#2/#3{%
      \xdef\thecolor{#1}%
      \ifx\relax#2\relax
        \xdef\thetxtcolor{black}%
      \else
        \xdef\thetxtcolor{#2}%
      \fi
    }
    \patchcmd\pgfpie@findColor{\xdef\thecolor{\c}}
    {\expandafter\split@colors\c//}
    {}{\typeout{Could not patch \string\pgfpie@findColor. Strange things may happen...}}
    
    \patchcmd\pgfpie@slice
      {node {\scalefont{#3}\beforenumber#3\afternumber}}
      {node[\thetxtcolor, /every only number node/.try] {\scalefont{#3}\beforenumber#3\afternumber}}{}{}
    \makeatother
    
    \begin{document}	
    
    \begin{tikzpicture}
    \pie[pos ={10,0}, sum=auto, radius=2, text=legend, color={blue/white,yellow,red}]{15/Fagott,3/Trompete,7/Posaune}
    \end{tikzpicture}
    
    
    %%% Warum ist hier die Textfarbe im blauen bobbel schwarz, obwohl ich weiß haben möchte?
    \begin{tikzpicture}
    \pie[pos ={10,0}, cloud, sum=auto, radius=2, text=legend, color={blue/white,yellow,red}]{15/Fagott,3/Trompete,7/Posaune}
    \end{tikzpicture}
    
    \end{document}
    vielen Dank,

  2. #2
    Registrierter Benutzer
    Registriert seit
    15.04.2007
    Beiträge
    20

    Red face Lösung gefunden!

    Hey,
    ich habs! Hier meine Lösung:

    Code:
    \makeatletter
    \newcommand*\split@colors{}
    \def\split@colors#1/#2/#3{%
      \xdef\thecolor{#1}%
      \ifx\relax#2\relax
        \xdef\thetxtcolor{black}%
      \else
        \xdef\thetxtcolor{#2}%
      \fi
    }
    \patchcmd\pgfpie@findColor{\xdef\thecolor{\c}}
    {\expandafter\split@colors\c//}
    {}{\typeout{Could not patch \string\pgfpie@findColor. Strange things may happen...}}
    
    
    \patchcmd\pgfpie@cloud
      {\node at (#1) {\scalefont{#3}\beforenumber#3\afternumber}}
      {\node at (#1) [\thetxtcolor, /every only number node/.try] {\scalefont{#3}\beforenumber#3\afternumber}}{}{}
    \makeatother

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •