[pstricks] bar giagrams

Herbert Voss Herbert.Voss at alumni.TU-Berlin.DE
Sat Nov 15 19:42:11 CET 2003


An example, which I posted to the german ctt

Herbert


\documentclass[12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pstcol,pstricks,pst-plot,pst-grad,multido}
\definecolor{lw}{rgb}{0.975,0.975,0.975}
\definecolor{db}{rgb}{0.7,0.3,0.3}
%
\newdimen\vPos%
\newdimen\vPosII%
\newdimen\vPosIII%
%
% balkenI[<fillstyle/color>](<length>), default is gradient blue
% vertical position is controlled by \vPos
\makeatletter
\def\balkenI{\@ifnextchar[{\@balkenIi}{%
	\@balkenIi[fillstyle=gradient,gradbegin=white,%
		gradend=blue,gradmidpoint=0,gradangle=90]%
	}
}
\def\@balkenIi[#1](#2){%
	\vPosII=\vPos\advance\vPosII by 0.4cm%
	\psframe[#1](0,\vPos)(#2,\vPosII)%
	\advance\vPos by -0.5cm%
}
\makeatother
%
% balken(<xStart>)(<xEnd>)
\def\balkenII(#1)(#2){%
	\advance\vPosII by -0.35cm%
	\vPosIII=\vPosII\advance\vPosIII by 0.25cm
	\psframe[fillstyle=solid,fillcolor=db](#1,\vPosII)(#2,\vPosIII)%
}
\def\setText#1{%
	\rput[rB](-0.2,\vPos){#1}%
	\advance\vPos by -0.5cm%
}
\begin{document}

\begin{pspicture}(-4,-1)(9,11)
\vPos=0cm
\psframe[fillcolor=lw,fillstyle=solid](0,0)(8,9)
\multido{\n=1+1}{5}{%
	\rput(\vPos,9.3){\n}%
	\psline[linestyle=dashed,linewidth=0.1pt](\vPos,-0.1)(\vPos,9.1)%
	\advance\vPos by 2cm%
}
\vPos=0cm
\multido{\n=-2+1}{5}{
	\rput(\vPos,-0.3){\n}
	\advance\vPos by 2cm%
}
\rput(0,10){völlig unwichtig}\rput(8,10){sehr unwichtig}%
\rput(0,-1){viel schlechter}\rput(4,-1){kein 
Unterschied}\rput(8,-1){viel besser}%
%
% ... the text ...
\vPos=10.7cm
\balkenI(0.3)
\rput[lB](0.5,10.75){Wichtigkeit beim Einkauf von Lebensmitteln}
%
\vPos=8.65cm
\setText{Geschmack}
\setText{Artgerechte Tierhaltung}
\setText{Gesungheitsaspekt}
\setText{Frische und Reife}
\setText{Glaubwürdige Produktkennzeichnung}
\setText{Preis-/Leistungsverhältnis}
\setText{Vitamin und Mineralstoffreichtum}
\setText{Schonende Verarbeitung}
\setText{Naturbelassenheit}
\setText{Freiheit von Gentechnik}
\setText{Umweltfreundlichkeit der Verpackung}
\setText{Appetitliches Äußeres}
\setText{Herkunft aus regionalen Landbau}
\setText{Regionale Herkunft}
\setText{Niedriger Preis}
\setText{Haltbarkeit}
\setText{Einfach und bequem bei Zubereitung}
\setText{Kalorienarmut}
\balkenII(0,-1.8)(0.3,-1.5)\rput[lB](0.5,-1.8){Vergleich der Ökoprodukte 
zu den Herkömmlichen}
%
% ...the bars ...
\vPos=8.6cm% the highest bar
\balkenI(6.8)	\balkenII(4)(6.2)
\balkenI(6.8)	\balkenII(4)(6.8)
\balkenI(6.8)	\balkenII(4)(6.6)
\balkenI(6.8)	\balkenII(4)(6)
\balkenI(6.6)	\balkenII(4)(5)
\balkenI(6.6)	\balkenII(4)(3.8)
\balkenI(6.3)	\balkenII(4)(6.3)
\balkenI(6.3)	\balkenII(4)(5.6)
\balkenI(6.3)	\balkenII(4)(6.6)
\balkenI(6)	\balkenII(4)(6)
\balkenI(6)	\balkenII(4)(5.8)
\balkenI(5.9)	\balkenII(4)(4.8)
\balkenI[fillstyle=solid,fillcolor=green](5.5)
\balkenI(5.3)	\balkenII(4)(5.8)
\balkenI(5)	\balkenII(3)(4)
\balkenI(4.8)	\balkenII(4)(4.15)
\balkenI(4.6)	\balkenII(4)(4.6)
\balkenI(4.3) 	\balkenII(4)(4.9)
% \psgrid only to view coordinates
%\psgrid[griddots=10,gridlabels=7pt,subgriddiv=0]
\end{pspicture}

\end{document}




-- 
http://www.pstricks.de/




More information about the PSTricks mailing list