Wieso werden die Farben nicht wie definiert angegeben?

Open in Online-Editor
\documentclass[tikz]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\definecolor{framsokn}{RGB}{24,73,42}
\definecolor{sjalfstaedi}{RGB}{0,0,181}
\definecolor{vinstrigraen}{RGB}{72,142,65}
\definecolor{frjalslyndi}{RGB}{0,142,210}
\definecolor{samfylkingin}{RGB}{198,18,24}
\definecolor{bjoertframtidid}{RGB}{146,39,143}
\definecolor{borgarahreyfingin}{RGB}{242,120,31}
\definecolor{lydraedishrefingin}{RGB}{198,18,24}
\definecolor{humanista}{RGB}{230,82,82}
\definecolor{regnboginn}{RGB}{22,0,91}
\definecolor{piratar}{rgb}{0,0,0}
\definecolor{klisti}{rgb}{255,247,0}
\definecolor{bjoertfram}{rgb}{141,25,142}
\definecolor{heimilanna}{rgb}{38,182,235}
\definecolor{lydraedisvaktin}{rgb}{75,82,152}
\definecolor{haegrigraenirflokkurfolksins}{rgb}{59,118,0}
\definecolor{landsbyggdarflokkur}{rgb}{98,26,171}
\definecolor{althydufylkingin}{rgb}{202,0,43}
\definecolor{doegun}{rgb}{230,190,88}
\def\angle{0}
\def\radius{3}
\newcommand\square[1]{%
  \tikz\filldraw[color=#1] (0,0) rectangle (1.5ex,1.5ex);%
}
\newcount\ind
\begin{document}
\newcommand\data{
26.70/Sjálfstæðisflokkur/sjalfstaedi,
24.43/Framsóknarflokkur/framsokn, 
12.85/Samfylkingin/samfylkingin,  
10.87/Vinstrihreyfingin--grænt framboð/vinstrigraen,
8.25/Björt framtíð/bjoertfram,
5.10/Píratar/piratar,
3.10/Dögun/doegun,
3.02/Flokkur heimilanna/heimilanna,
2.46/Lýðræðisvaktin/lydraedisvaktin,
1.73/Hægri grænir flokkur fólksins/haegrigraenirflokkurfolksins,
1.07/Regnboginn/regnboginn,
0.17/Landsbyggðarflokkur/landsbyggdarflokkur,
0.12/Sturla Jónsson K--listi/klisti,
0.07/Húmanistaflokkur/humanista,
0.06/Alþýðufylkingin/althydufylkingin,
}

\begin{tikzpicture}[scale=1.00]
  \begin{scope}
    \global\ind=-1
    \foreach \percent/\name/\color in \data {
      \ifx\percent\empty\else                 % If \percent is empty, do nothing
      \global\advance\ind by 1              % Advance list index
      % Draw angle and set labels
      \filldraw[color=\color] (0,0) -- (\angle:\radius) arc (\angle:\angle+\percent*3.6:\radius) -- cycle;
      \node[anchor=base west] at (\radius+2,1.5-.5*\ind) {\square{\color} \name};
      \node[pin=\angle+0.5*\percent*3.6:\percent\%] at (\angle+0.5*\percent*3.6:\radius) {};
      \pgfmathparse{\angle+\percent*3.6}    % Advance angle
      \xdef\angle{\pgfmathresult}           %   and store in \angle
      \fi
    };    
  \end{scope}

  \pgfmathsetmacro\barmaxheight{5}
  \begin{scope}[shift={(-2,-4-\barmaxheight)}]
    \draw[<->] (0,\barmaxheight+0.5) |- (12,0);
    \draw (2pt,\barmaxheight) -- (-2pt,\barmaxheight) node[left] {100\%};
    \draw (2pt,.5*\barmaxheight) -- (-2pt,.5*\barmaxheight) node[left] {50\%};
    \global\ind=-1
    \foreach \percent/\name/\color in \data {
      \ifx\percent\empty\else                 % If \percent is empty, do nothing
      \global\advance\ind by 1              % Advance list index
      % Draw angle and set labels
      \filldraw[color=\color] (\ind+.2,0) rectangle (\ind+1.2,\barmaxheight/100*\percent);
      \node[above] at (\ind+1,\barmaxheight/100*\percent) {\percent\%};
      \node[rotate=45,anchor=north east] at (\ind+1,0) {\name};
      \fi
    };    
  \end{scope}
\end{tikzpicture}
\end{document}

gefragt 20 Dez '16, 20:04

Tischa's gravatar image

Tischa
1.4k30106129
Akzeptiert-Rate: 15%

Vielen Dank. Mit dem Hinweis konnte ich das Problem lösen. Der Unterschied zwischen RGB und rgb war mir nicht bewusst.

Ich bastele noch daran, u.U. eine zweite Frage, dass optisch etwas aufzubessern. Die Grafik sieht so noch etwas aus, wie Kraut und Rüben.

(20 Dez '16, 21:10) Tischa

TeX ist im Allgemeinen case-sensitiv. Die Farbmodelle RGB und rgb sind bezüglich der Wertebereiche für die Farbangaben gänzlich unterschiedlich. Bei rgb sind Dezimalwerte zwischen 0 und 1 sinnvoll, während bei RGB ganzzahlige Werte zwischen 0 und 255 zu verwenden sind. Du wirfst das wahllos durcheinander. Daher würde ich annehmen, dass die Farben sehr wohl wie definiert ausgegeben werden, aber die Definitionen teilweise falsch sind. Beispielsweise vermute ich, dass

Open in Online-Editor
\definecolor{piratar}{rgb}{0,0,0}
\definecolor{klisti}{rgb}{255,247,0}
\definecolor{bjoertfram}{rgb}{141,25,142}
\definecolor{heimilanna}{rgb}{38,182,235}
\definecolor{lydraedisvaktin}{rgb}{75,82,152}
\definecolor{haegrigraenirflokkurfolksins}{rgb}{59,118,0}
\definecolor{landsbyggdarflokkur}{rgb}{98,26,171}
\definecolor{althydufylkingin}{rgb}{202,0,43}
\definecolor{doegun}{rgb}{230,190,88}

eigentlich

Open in Online-Editor
\definecolor{piratar}{RGB}{0,0,0}
\definecolor{klisti}{RGB}{255,247,0}
\definecolor{bjoertfram}{RGB}{141,25,142}
\definecolor{heimilanna}{RGB}{38,182,235}
\definecolor{lydraedisvaktin}{RGB}{75,82,152}
\definecolor{haegrigraenirflokkurfolksins}{RGB}{59,118,0}
\definecolor{landsbyggdarflokkur}{RGB}{98,26,171}
\definecolor{althydufylkingin}{RGB}{202,0,43}
\definecolor{doegun}{RGB}{230,190,88}

sein sollte.

Näheres zu den von xcolor unterstützten Farbmodellen ist der Anleitung zu entnehmen. Eine Übersicht über die Farbmodelle ist beispielsweise in Abschnitt 2.2.1 der xcolor-Anleitung zu finden, die Wertebereiche der unterschiedlichen Modelle sind übersichtlich in Tabelle 3 derselben Anleitung dargestellt. Das Farbmodell rgb ist – im Unterschied zu RGB – auch bereits ganz zu Beginn des Farbenkapitels des grfguide spezifiziert.

Natürlich habe ich keine Ahnung, welche Farben Du tatsächlich erwartest. Schließlich fehlt eine solche Information. Es kann also auch sein, dass Monitor oder Drucker falsch kalibriert sind.

Permanenter link

beantwortet 20 Dez '16, 20:56

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 21 Dez '16, 08:23

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×54
×48

gestellte Frage: 20 Dez '16, 20:04

Frage wurde gesehen: 5,309 Mal

zuletzt geändert: 21 Dez '16, 08:23