PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Balkendiagramm mit PSTricks



blaurot
08-08-2006, 10:29
Hallo
ich versuche mich inzwischen schon mit der 3.variante von balkendiagramm, und kriege langsam dsie krise(träume sogar schon nachts davon...)
ich hoffe, es ist ok, dass ich ein neues thema erstellt habe(ist ja auch ein neues problem).

ich habe mir ein beispiel aus pstricks-add-doc genommen und wollte es dann für mich anpassen, aber ich kriege es nicht zum laufen, und weiss absolut nicht warum.

\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-all}
\begin{document}

\psset{xunit=.44cm,yunit=.3cm}
\begin{pspicture}(-2,-3)(29,13)
\psaxes[axesstyle=axes,Ox=1466,Oy=0,Dx=4,Dy=2,ylabelFactor ={\,\%}]{-}(29,12)
\listplot[linecolor=blue,plotstyle=bar,barwidth=0.3cm,
fillcolor=red,fillstyle=solid]{5}
\rput{90}(-3,6.25){Amount}
\end{pspicture}

\end{document}

wäre echt dankbar über hilfe.
danke katrin

edico
08-08-2006, 11:12
...
\usepackage{pstricks, pstricks-add}
...
edico

blaurot
08-08-2006, 12:33
hallo
danke, allerdings bekomme ich jetzt beim compilieren in ps wieder den dsc error, aber in dvi klappts.
jetzt nochmal eine frage:
in den beispielen sind die daten für das diagramm immer in extra dateien...ich habe das prinzip davon nleider nicht verstanden. wie funktioniert das? ist das eine extra-datei oder wird das voran geschrieben?
danke katrin

voss
08-08-2006, 13:39
hallo
danke, allerdings bekomme ich jetzt beim compilieren in ps wieder den dsc error, aber in dvi klappts.
jetzt nochmal eine frage:
in den beispielen sind die daten für das diagramm immer in extra dateien...ich habe das prinzip davon nleider nicht verstanden. wie funktioniert das? ist das eine extra-datei oder wird das voran geschrieben?


Am besten nimmst du eine Datei und liest sie mit \readdata ein. Die Zahlenwerte können durch Leerzeichen oder Komma oder Leerzeichen getrennt sein. Beispiel:



\documentclass{article}

\usepackage{filecontents}% dann kann man Datei überschreiben
\begin{filecontents}{demo.dat}
1 5
2 4
3 8
4 9
6.6 3
20 10
\end{filecontents}
\usepackage{pstricks}
\usepackage{pstricks-add}
\begin{document}

\psset{xunit=.44cm,yunit=.3cm}
\readdata{\data}{demo.dat}

\begin{pspicture}(-3,-3)(29,13)
\psaxes[axesstyle=axes,Ox=1466,Oy=0,Dx=4,Dy=2,ylabelFactor ={\,\%}](29,12)
\listplot[linecolor=blue,plotstyle=bar,barwidth=0.3cm,
fillcolor=red,fillstyle=solid]{\data}
\rput{90}(-3,6.25){Amount}
\end{pspicture}

\end{document}


wenn du nach dvips immer noch Probleme hast, dann ist dein dvips kaputt oder veraltet. Schick mir dann mal die ps-Datei.

Herbert

blaurot
08-08-2006, 14:39
okay also ich habe jetzt das beispiel von dir genommen. inzwischen habe ich ihm noch alles gegeben was er brauchte zum installieren aber es lässt sich immer noch nicht öffnen
bekomme folgende fehlermeldung bei dvips: couldn't find header file pst-node.pro
ich habe aber doch die ganzen tage damit arbeiten können...(allerdings nicht mit pstricks)
gruß katrin

blaurot
08-08-2006, 14:59
habe diese dateien noch in den ordner kopiert und jetzt bekomme ich auch ne lesbare ps-datei
danke katrin

voss
08-08-2006, 15:36
habe diese dateien noch in den ordner kopiert und jetzt bekomme ich auch ne lesbare ps-datei


dann stimmt aber deine ganze TeX-Installation nicht, denn diese Datei sollte in jedem Fall vorhanden sein und auch gefunden werden ...

Herbert

blaurot
08-08-2006, 20:45
hallo
wieder ein gescheiterter versuch...
ich muss die diagramme verschieden farbig machen, das habe ich mit dem vorigen nicht hinbekommen, also habe ich dies hier gemacht( wie in http://www.ctan.org/tex-archive/graphics/pstricks/contrib/pst-bar/pst-bar-doc.pdf), allerdings läuft das nicht :-(
hier die fehlermeldung: ! Paragraph ended before \readpsbardata@iii was complete.
<to be read again>
\par
l.38 \readpsbardata{\data}{demo.csv}

I suspect you've forgotten a `}', causing me to apply this
control sequence to too much text. How can we recover?
My plan is to forget the whole thing and hope for the best.

! Undefined control sequence.
\readpsbardata@ii ...ardata@iii \pst@tempa ,\@nil
\ignorespaces \edef \pst@t...
l.38 \readpsbardata{\data}{demo.csv}

mein programm:
\documentclass{article}
%\listfiles
\usepackage{filecontents}
\begin{filecontents*}{demo.csv}
0.5 31.25

1.1 -11.85
1.7 37.5
1.8 17.24
2.1 -20.24
3.5 12.5
3.8 32.33
4.1 19.83
4.5 18.75
5.1 4.09
\end{filecontents*}

\usepackage{pstricks}
\usepackage{pstricks-add}
\usepackage{pst-bar}
\begin{document}
\psset{ticksize=2pt}
\psset{xunit=1.20cm,yunit=.09cm}
\begin{pspicture}(-3,-3)(10,30)
\psaxes[ticks=y,axesstyle=frame,Dx=1,Dy=10]{->}(0,0)(0,-50)(7,60)
\readpsbardata{\data}{demo.csv}
\psbarchart[barstyle={black,blue}]{\data}
\end{pspicture}

\end{document}

gruß katrin

voss
09-08-2006, 09:14
hallo
wieder ein gescheiterter versuch...
ich muss die diagramme verschieden farbig machen, das habe ich mit dem vorigen nicht hinbekommen, also habe ich dies hier gemacht( wie in http://www.ctan.org/tex-archive/graphics/pstricks/contrib/pst-bar/pst-bar-doc.pdf),


pst-bar ist für die Art deiner Darstellung eigentlich nicht so sehr geeignet. Dort hat man auf der x-Achse meistens nur fortlaufende Einträge. Versuch mal:


\documentclass{article}
%\listfiles
\usepackage{filecontents}
\begin{filecontents*}{demo.csv}
0.5 31.25
1.1 -11.85
1.7 37.5
1.8 17.24
2.1 -20.24
3.5 12.5
3.8 32.33
4.1 19.83
4.5 18.75
5.1 4.09
\end{filecontents*}

\usepackage{pstricks}
\usepackage{pst-plot,pstricks-add}
\makeatletter
\def\psbar@iii{%
newpath
/Farbe 1 def
n {
/Yval exch def /Xval exch def
Xval \number\psk@barwidth 0.5 mul sub 0 moveto
0 Yval rlineto \number\psk@barwidth 0 rlineto
0 Yval neg rlineto \number\psk@barwidth neg 0 rlineto
0 0 Farbe 0 gt {1}{0}ifelse setrgbcolor fill
/Farbe Farbe -1 mul def
} repeat
}%
\begin{document}
\psset{ticksize=2pt,xunit=1.20cm,yunit=.09cm,barwi dth=1mm}
\readdata{\data}{demo.csv}
\begin{pspicture}(-3,-3)(10,30)
\psaxes[ticks=y,axesstyle=frame,Dx=1,Dy=10]{->}(0,0)(0,-50)(7,60)
\listplot[plotstyle=bar]{\data}
\end{pspicture}

\end{document}

kommt das deinen Vorstellungen näher?

Herbert

blaurot
09-08-2006, 09:40
hey super, danke das sieht wirklich gut aus.
kannst du mir jetzt den mittleren teil noch erklären??
weil das diagramm soll eine abweichanalyse werden und der dritte balken muss dann je nach größe eine andere farbe bekommen...(ist leider eine excel-datei, sonst könnte ich dir zeigen wie es aussehen soll)
mit dem bardiag-paket(mein 2. anlauf) hatte ich jeden balken einzeln eingefügt und damit war es kein problem jedesmal eine andere farbe zu nehmen.
ich dachte erst daran, alle balken einer farbe in ein dat-file zu packen und dann alle nacheinander, jeweils mit einer anderen farbe , auszugegeben . ging natürlich nicht.
danke katrin

voss
09-08-2006, 10:11
hey super, danke das sieht wirklich gut aus.
kannst du mir jetzt den mittleren teil noch erklären??
weil das diagramm soll eine abweichanalyse werden und der dritte balken muss dann je nach größe eine andere farbe bekommen...(ist leider eine excel-datei, sonst könnte ich dir zeigen wie es aussehen soll)
mit dem bardiag-paket(mein 2. anlauf) hatte ich jeden balken einzeln eingefügt und damit war es kein problem jedesmal eine andere farbe zu nehmen.
ich dachte erst daran, alle balken einer farbe in ein dat-file zu packen und dann alle nacheinander, jeweils mit einer anderen farbe , auszugegeben . ging natürlich nicht.


was heißt "der dritte Balken"? Jedes dritte Zahlenpaar oder wie? Und welche Farbe?

Das ist reiner PostScript in der mitte, da kann man alles mögliche manipulieren, muss aber ein wenig Ahnung von der Programmiersprache haben, sonst ist es schwierig. setrgbcolor erwartet auf dem Stack drei Werte Rot Grün Blau

Herbert

blaurot
09-08-2006, 10:39
hallo
ja genau jeder dritte balken

wenn er im negativen ist rot, im positiven grün und bei ner abweichung bis 5% soll er gelb sein.

ist das so überhaupt möglich? kann ich mit der variante auch jeden balken einzeln einfügen und farbe dann mitgeben?
da ich das sowieso aus java heraus erstelle, könnte ich dann eine if-abfrage machen wegen farbe...
ich hatte das ja auch alles schon soweit mit dem bardiag-paket, nur konnte ich dort die y-achse nicht ins negative verlängern

voss
09-08-2006, 11:25
hallo
ja genau jeder dritte balken

wenn er im negativen ist rot, im positiven grün und bei ner abweichung bis 5% soll er gelb sein.

ist das so überhaupt möglich? kann ich mit der variante auch jeden balken einzeln einfügen und farbe dann mitgeben?
da ich das sowieso aus java heraus erstelle, könnte ich dann eine if-abfrage machen wegen farbe...
ich hatte das ja auch alles schon soweit mit dem bardiag-paket, nur konnte ich dort die y-achse nicht ins negative verlängern

die Abbildung ist ja nun wieder was für pst-bar:



\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{demo.csv}
19.40, 17.24, 32.33, 22.84, 4.31, 2.16, 1.72
31.25, 37.50, 12.50, 18.75, 0, 0, 0
11.85, 20.26,-19.83, -4.09,-4.31,-2.16,-1.72
\end{filecontents*}

\usepackage{pstricks}
\usepackage{pst-bar}
\usepackage{pstricks-add}
\begin{document}

\psset{xunit=1.20cm,yunit=.09cm}
\psset{yticksize=0 8.4cm}
\def\psvlabel#1{#1\,\%}

\begin{pspicture}(-.5,-30)(7,50)
\psframe[fillstyle=solid,fillcolor=black!10,linestyle=none](0,-30)(7,50)
\psaxes[ticks=y,labels=y,Dx=1,Dy=10](0,0)(0,-30)(7,50)
\readpsbardata[header=false]{\data}{demo.csv}
\psbarchart[barstyle={black,blue,red}]{\data}
\end{pspicture}

\end{document}


Herbert

voss
09-08-2006, 11:54
hier noch die Grafik:

blaurot
09-08-2006, 13:52
hallo, das sieht ja jetzt perfekt aus.
vielen, vielen dank, ich denke ich müsste es jetzt hinkriegen.
werden es später ausprobieren und dann mein egebnis nochmal sposten.
also vielen dank katrin

p.s.: kannst du ein kleines java-prog für mich testen( java-prog , was tex in pdf wandeln soll...)??

voss
09-08-2006, 13:56
p.s.: kannst du ein kleines java-prog für mich testen( java-prog , was tex in pdf wandeln soll...)??

klar -> voss@pstricks.de

Herbert

blaurot
10-08-2006, 09:43
hallo
das ist doch verflixt. jetzt habe ich eigentlich alles nur kopiert und es läuft nicht, dabei finde ich keinen unterschied...
ich habe für jede farbe eine csv-datei gemacht. aber wieso hat er was dagegen? in der anderen datei hat er doch auch lieb zwei so csv-dateien eingelesen...

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{data1.csv}
54.0 58.0 45.0 48.0 25.0 48.0 23.0
53.0 21.0 25.0 15.0 48.0 15.0 45.0
0 0 0 0 0 0 0
\end{filecontents*}
\begin{filecontents*}{datagelb.csv}
0 0 0 0 0 0 0
0 0 0 0 0 0 0
5.0 2.0 6.0 8.0 9.0 1.0 8.0
\end{filecontents*}
\begin{filecontents*}{datagruen.csv}
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
\end{filecontents*}
\begin{filecontents*}{datarot.csv}
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
\end{filecontents*}
\usepackage{pstricks}
\usepackage{pst-bar}
\usepackage{pstricks-add}
\begin{document}

\psset{xunit=1.20cm,yunit=.09cm}
\psset{yticksize=0 8.4cm}
\def\psvlabel#1{#1\,\%}
\begin{pspicture}(-.5,-30)(7,50)
\psframe[fillstyle=solid,fillcolor=black!10,linestyle=none](0,-30)(7,50)
\psaxes[ticks=y,labels=y,Dx=1,Dy=10](0,0)(0,-30)(7,50)
\readpsbardata[header=false]{\data}{data1.csv}
\psbarchart[barstyle={black,blue,green}]{\data}

\readpsbardata[header=false]{\data}{datagelb.csv}
\psbarchart[barstyle={black,blue,lightgray}]{\data}
%\readpsbardata[header=false]{\data}{datagruen.csv}
%\psbarchart[barstyle={black,blue,green}]{\data}
%\readpsbardata[header=false]{\data}{datarot.csv}
% \psbarchart[barstyle={black,blue,red}]{\data}
\end{pspicture}
\end{document}

RedCloud
10-08-2006, 09:46
hallo
das ist doch verflixt. jetzt habe ich eigentlich alles nur kopiert und es läuft nicht, dabei finde ich keinen unterschied...
ich habe für jede farbe eine csv-datei gemacht. aber wieso hat er was dagegen? in der anderen datei hat er doch auch lieb zwei so csv-dateien eingelesen...


csv -> ce es fau :-) comma separated values ...

rc

blaurot
10-08-2006, 10:02
das geht auch ohne komma wenn man nur ein csv benutzt, aber auch mit den ganzen kommas bekomme ich die selbe fehlermeldung
aber ich stelle gerade fest, ich bekomme trotz der 6fehlermeldungen eine schöne ps-datei :-)
mir ist das ja egal, aber so kann ich das schlecht abgeben...

voss
10-08-2006, 10:47
das geht auch ohne komma wenn man nur ein csv benutzt, aber auch mit den ganzen kommas bekomme ich die selbe fehlermeldung
aber ich stelle gerade fest, ich bekomme trotz der 6fehlermeldungen eine schöne ps-datei :-)
mir ist das ja egal, aber so kann ich das schlecht abgeben...

setz mal ein \listfiles als erste Zeile vor dein Dokuemnt und vergleiche mal (erscheint am Ende des logfiles):

*File List*
article.cls 2005/09/16 v1.4f Standard LaTeX document class
size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
filecontents.sty 2004/08/16 v1.1 Create an external file from within a LaTeX
document
pstricks.sty 2006/01/01 v0.32 LaTeX wrapper for `PSTricks' (RN,HV)
pstricks.tex 2006/04/29 v1.14c `PSTricks' (tvz)
pstricks.pro
xcolor.sty 2005/12/21 v2.09 LaTeX color extensions (UK)
color.cfg 2001/08/31 v1.1 color configuration of teTeX/TeXLive
dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
pst-bar.sty 2004/08/22 package wrapper for pst-bar.tex (ahr)
pst-bar.tex 2004/09/24 v0.7a `pst-bar' (ahr)
pst-bar.pro
pstricks-add.sty 2005/03/03 package wrapper for pstricks-add.tex (hv)
pstricks-add.tex 2006/08/08 v2.78 `PSTricks-add' (hv)
pst-xkey.tex 2005/02/22 v1.5 PSTricks specialization of xkeyval (HA)
xkeyval.sty 2005/08/12 v2.5d package option processing (HA)
xkeyval.tex 2005/08/12 v2.5d key=value parser (HA)
pstricks-add.pro


ich bekomme keine Fehlermeldungen, nur die 6 unbedeutenden Warnungen.

Abgesehen davon musst du für das erste Beispiel natürlich den positiven Wert für die y-Achse erhöhen: statt 50 60.

Herbert

blaurot
10-08-2006, 11:08
*File List*
article.cls 2005/09/16 v1.4f Standard LaTeX document class
size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
filecontents.sty 2004/08/16 v1.1 Create an external file from within a LaTeX
document
pstricks.sty 2005/12/19 v0.31 LaTeX wrapper for `PSTricks' (RN,HV)
pstricks.tex 2006/02/06 v1.14a `PSTricks' (tvz)
xcolor.sty 2005/12/21 v2.09 LaTeX color extensions (UK)
color.cfg
dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
pst-bar.sty 2004/08/22 package wrapper for pst-bar.tex (ahr)
pst-bar.tex 2004/09/24 v0.7a `pst-bar' (ahr)
pst-bar.pro
pstricks-add.sty 2005/03/03 package wrapper for pstricks-add.tex (hv)
pstricks-add.tex 2006/07/07 v2.76b `PSTricks-add' (hv)
pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA)
xkeyval.sty 2005/11/25 v2.5e package option processing (HA)
xkeyval.tex 2005/11/25 v2.5e key=value parser (HA)
pstricks-add.pro
array.sty 1998/05/13 v2.3m Tabular extension package (FMi)
***********

soll ich das pstricks-paket updaten??
die daten hatte ich nur so zum test drin(die muss ich noch aus datenbank auslesen)
danke katrin

voss
10-08-2006, 11:47
soll ich das pstricks-paket updaten??
die daten hatte ich nur so zum test drin(die muss ich noch aus datenbank auslesen)


kann eigentlich nichts damit zu tun haben ...
Schick mal deine dvi und ps-Datei.

Herbert