barchart included
This commit is contained in:
73
infographics/g/barchart.tex
Normal file
73
infographics/g/barchart.tex
Normal file
@ -0,0 +1,73 @@
|
||||
%-----------------------------------------------------------------------------------------------------------------------------------------------%
|
||||
% The MIT License (MIT)
|
||||
%
|
||||
% Copyright (c) 2016 Jan Küster
|
||||
%
|
||||
% Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
% of this software and associated documentation files (the "Software"), to deal
|
||||
% in the Software without restriction, including without limitation the rights
|
||||
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
% copies of the Software, and to permit persons to whom the Software is
|
||||
% furnished to do so, subject to the following conditions:
|
||||
%
|
||||
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
% THE SOFTWARE.
|
||||
%
|
||||
%-----------------------------------------------------------------------------------------------------------------------------------------------%
|
||||
\newcounter{barcount}
|
||||
|
||||
|
||||
% draw a bar chart
|
||||
% param 1: width
|
||||
% param 2: height
|
||||
% param 3: border color
|
||||
% param 4: label text color
|
||||
% param 5: label bg color
|
||||
% param 6: cat 1 color
|
||||
\newenvironment{barchart}[8]{
|
||||
|
||||
\newcommand{\barwidth}{0.35}
|
||||
\newcommand{\barsep}{0.2}
|
||||
|
||||
% param 1: overall percent
|
||||
% param 2: label
|
||||
% param 3: cat 1 percent
|
||||
% param 4: cat 2 percent
|
||||
% param 5: cat 3 percent
|
||||
\newcommand{\baritem}[5]{
|
||||
|
||||
\pgfmathparse{##3+##4+##5}
|
||||
\let\perc\pgfmathresult
|
||||
|
||||
\pgfmathparse{#2*\perc/100}
|
||||
\let\barsize\pgfmathresult
|
||||
|
||||
\pgfmathparse{\barsize*##3/100}
|
||||
\let\barone\pgfmathresult
|
||||
|
||||
\pgfmathparse{\barsize*##4/100}
|
||||
\let\bartwo\pgfmathresult
|
||||
|
||||
\pgfmathparse{\barsize*##5/100}
|
||||
\let\barthree\pgfmathresult
|
||||
|
||||
\pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)}
|
||||
\let\barx\pgfmathresult
|
||||
|
||||
\filldraw[fill=#6, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth);
|
||||
\filldraw[fill=#7, draw=none] (\barone, -\barx) rectangle (\barone+\bartwo,-\barx-\barwidth);
|
||||
\filldraw[fill=#8, draw=none] (\barone+\bartwo,-\barx ) rectangle (\barone+\bartwo+\barthree,-\barx-\barwidth);
|
||||
|
||||
\node [label=180:\colorbox{#5}{\textcolor{#4}{##2}}] at (0,-\barx-0.175) {};
|
||||
\addtocounter{barcount}{1}
|
||||
}
|
||||
\begin{tikzpicture}
|
||||
\setcounter{barcount}{0}
|
||||
%\draw[draw=#3, line width= 2pt] (0,0) -- (#1,0);
|
||||
}
|
||||
{\end{tikzpicture}}
|
@ -28,20 +28,20 @@
|
||||
% draw a slice for a chart
|
||||
% param 1: Circle form - 90 = quarter, 180 = half, 360 = full
|
||||
% param 2: scale default=1 (scales only chart, not label text)
|
||||
% param 3:
|
||||
% param 4:
|
||||
% param 5:
|
||||
% param 3: border color
|
||||
% param 4: label text color
|
||||
% param 5: label bg color
|
||||
% param 6:
|
||||
\newenvironment{piechart}[2] {
|
||||
\newenvironment{piechart}[5] {
|
||||
|
||||
% draw a slice for a chart
|
||||
% param 1: value x of 100
|
||||
% param 2: label text
|
||||
% param 3: fill color
|
||||
% param 4: border color
|
||||
% param 5: label text color
|
||||
% param 4:
|
||||
% param 5:
|
||||
% param 6:
|
||||
\newcommand{\slice}[5] {
|
||||
\newcommand{\slice}[3] {
|
||||
|
||||
\setcounter{a}{\value{b}}
|
||||
\addtocounter{b}{##1}
|
||||
@ -59,10 +59,12 @@
|
||||
\let\midangle\pgfmathresult
|
||||
|
||||
% draw the slice
|
||||
\filldraw[fill=##3!100,draw=##4!100, line width=2pt ] (0,0) -- (\pointa:#2) arc (\pointa:\pointb:#2) -- cycle;
|
||||
|
||||
\filldraw[fill=##3!100,draw=#3!100, line width=2pt ] (0,0) -- (\pointa:#2) arc (\pointa:\pointb:#2) -- cycle;
|
||||
|
||||
% draw label
|
||||
\node[label=\midangle:\textcolor{##5}{##2}] at (\midangle:#2) {};
|
||||
\node[label=\midangle:\colorbox{#5}{\textcolor{#4}{##2}}] at (\midangle:#2) {};
|
||||
|
||||
\filldraw[fill=#3,draw=none] (0,0) circle (#2/2);
|
||||
}
|
||||
|
||||
% execute commands
|
||||
|
@ -21,11 +21,11 @@
|
||||
%-----------------------------------------------------------------------------------------------------------------------------------------------%
|
||||
|
||||
% define global counters
|
||||
\newcounter{expcounter}
|
||||
\newcounter{educounter}
|
||||
\newcounter{yearcount}
|
||||
|
||||
|
||||
\newcounter{leftcount}
|
||||
|
||||
% env cvtimeline
|
||||
%
|
||||
% creates a vertical cv timeline
|
||||
@ -35,7 +35,13 @@
|
||||
% param 3: overall width
|
||||
%param 4: overall height
|
||||
\newenvironment{cvtimeline}[4]{
|
||||
|
||||
\newcommand{\cvcategory}[2]{
|
||||
\node[label=\mbox{\colorbox{##1}{\strut\hspace{2pt}}\colorbox{white}{\textcolor{textcol}{##2}}}] at (0,-5) {}; %start year
|
||||
}
|
||||
|
||||
\newcommand{\bxwidth}{4.5}
|
||||
\newcommand{\bxheight}{2}
|
||||
|
||||
|
||||
% creates a stretched box as cv entry headline followed by two paragraphs about
|
||||
@ -45,63 +51,60 @@
|
||||
% param 3: event name
|
||||
% param 4: institution (where did you work / study)
|
||||
% param 5: what was your position
|
||||
% param 6: some words about your contributions
|
||||
%
|
||||
\newcommand{\cvexperience}[6] {
|
||||
% param 6: color
|
||||
% param 7: level (position, use minus for left placement)
|
||||
\newcommand{\cvevent}[7] {
|
||||
|
||||
\foreach \monthf/\yearf in {##1} {
|
||||
\foreach \montht/\yeart in {##2} {
|
||||
\definecolor{expcol}{RGB}{50,50,\theexpcounter}
|
||||
|
||||
\pgfmathparse{#3/\fullrange*((\yearf-#1)+(\monthf/12))}
|
||||
\let\startexp\pgfmathresult
|
||||
\pgfmathparse{#3/\fullrange*((\yeart-#1)+(\montht/12))}
|
||||
\let\endexp\pgfmathresult
|
||||
\pgfmathparse{1/(\endexp-\startexp+1.5)}
|
||||
\pgfmathparse{1/(\endexp-\startexp+1)}
|
||||
\let\lenexp\pgfmathresult
|
||||
\pgfmathparse{0.5*\endexp+0.5*\startexp}
|
||||
\let\midexp\pgfmathresult
|
||||
|
||||
\draw[fill=expcol, opacity=0.75] (\startexp,-0.1) -- (\startexp,-0.6-\lenexp) -- (\endexp,-0.6-\lenexp) -- (\endexp,-0.1) --cycle;
|
||||
\draw[draw=black](\midexp,-0.6-\lenexp) -- ((\midexp,-1.5-\lenexp);
|
||||
\node[label=\textcolor{textcol}{##3}] at (\midexp,-2-\lenexp) {}; %start year
|
||||
\addtocounter{expcounter}{50}
|
||||
}
|
||||
}
|
||||
}
|
||||
\newcommand{\cveducation}[6] {
|
||||
\foreach \monthf/\yearf in {##1} {
|
||||
\foreach \montht/\yeart in {##2} {
|
||||
\definecolor{expcol}{RGB}{250,\theeducounter,0}
|
||||
\pgfmathparse{#3/\fullrange*((\yearf-#1)+(\monthf/12))}
|
||||
\let\startexp\pgfmathresult
|
||||
\pgfmathparse{#3/\fullrange*((\yeart-#1)+(\montht/12))}
|
||||
\let\endexp\pgfmathresult
|
||||
\pgfmathparse{1/(\endexp-\startexp+1.5)}
|
||||
\let\lenexp\pgfmathresult
|
||||
\pgfmathparse{0.5*\endexp+0.5*\startexp}
|
||||
\let\midexp\pgfmathresult
|
||||
%\filldraw[fill=##6,draw=none, opacity=0.9] (-0.15-##7,\startexp) rectangle (-0.15-##7-0.5,\endexp);
|
||||
\draw[draw=##6, line width=1.5pt] (0, \startexp) -- (1,\startexp);
|
||||
|
||||
\draw[fill=expcol, opacity=0.75] (\startexp,0.1) -- (\startexp,0.6+\lenexp) -- (\endexp,0.6+\lenexp) -- (\endexp,0.1) --cycle;
|
||||
\draw[draw=black](\midexp,0.6+\lenexp) -- ((\midexp,1+\lenexp);
|
||||
\node[label=\textcolor{textcol}{##3}] at (\midexp,1.1+\lenexp) {}; %start year
|
||||
\addtocounter{educounter}{50}
|
||||
\node[label={[label distance=0]0:\colorbox{##6}{\strut}\colorbox{white}{\textcolor{gray}{##1}\hspace{3pt}\textcolor{textcol}{##3}}}] at (0.5, \startexp) {};
|
||||
}
|
||||
\addtocounter{leftcount}{1}
|
||||
}
|
||||
}
|
||||
|
||||
%--------------------------------------------------------------------------------------
|
||||
% BEGIN
|
||||
%--------------------------------------------------------------------------------------
|
||||
|
||||
\begin{tikzpicture}
|
||||
|
||||
\setcounter{leftcount}{1}
|
||||
|
||||
%calc fullrange= number of years
|
||||
\pgfmathparse{(#2-#1)}
|
||||
\let\fullrange\pgfmathresult
|
||||
\draw[draw=textcol,line width=1pt] (0,0) -- (#3,0) ; %line
|
||||
\draw[draw=textcol,line width=4pt] (0,0) -- (0,#3) ; %the timeline
|
||||
|
||||
%for each year put a horizontal line in place
|
||||
\setcounter{yearcount}{1}
|
||||
\setcounter{expcounter}{50}
|
||||
\whiledo{\value{yearcount} < \fullrange}{
|
||||
\draw[draw=textcol] (#3/\fullrange*\value{yearcount},-0.15) -- (#3/\fullrange*\value{yearcount},0.15);
|
||||
\draw[fill=white,draw=textcol, line width=2pt] (0,#3/\fullrange*\value{yearcount}) circle (0.1);
|
||||
\stepcounter{yearcount}
|
||||
}
|
||||
\node[label=\textcolor{textcol}{#1}] at (-0.75,0) {}; %start year
|
||||
\node[label=\textcolor{textcol}{#2}] at (#3+0.75,0) {}; %end year
|
||||
|
||||
%start year
|
||||
\filldraw[fill=white!100,draw=textcol,line width=3pt] (0,-0.5) circle (0.5);
|
||||
\node[label=\textcolor{textcol}{\textbf{\small#1}}] at (0,-0.85) {};
|
||||
|
||||
%end year
|
||||
\filldraw[fill=white!100,draw=textcol,line width=5pt] (0,#3+0.75) circle (0.75);
|
||||
\node[label=\textcolor{textcol}{\textbf{\large#2}}] at (0,#3+0.42) {};
|
||||
|
||||
|
||||
|
||||
}%end begin part of newenv
|
||||
{\end{tikzpicture}}
|
Reference in New Issue
Block a user