Hansi
27-01-2010, 15:09
Hallo,
Ich bin gerade dabei meine Dipl. Arbeit zu schreiben und benötige noch Diagramme. Da ich mit LATEX schreibe, will ich keine Excel Diagramme einfügen. Ich habe PSTricks gefunden, das gefällt mir auch ziemlich gut, aber ich habe da noch so meine Probleme.
Ich habe von der Seite:
http://tug.org/PSTricks/main.cgi?file=pst-plot/psaxes#labelpos
Das Bsp.: multi axes gezogen, da ich auch zwei y-Achsen brauche.
Da habe ich soweit abgeändert, doch so richtig funktioniert es nicht. Da ich mehrere Diagramme einfügen muss, aber alle ähnlich sind nur mit anderen Werten, reicht mir eine richtige Version, die ich dann soweit abändere.
Hier ist mal mein Bsp:
\documentclass[12pt]{article}
\usepackage{pst-plot}
\usepackage{multido}
\usepackage{numprint}% you need the latest (!!!) version
\npthousandsep{\,}
\usepackage{arrayjob}% load it after numprint
%
\newarray{\Years}
\readarray{Years}{%
& -1 & -0,5 & -0,25 & 0 & 0,25 & 0,5& 1%
}
\def\psvlabel#1{\numprint{#1}}%
\def\pshlabel#1{{\checkYears(#1)\small\cachedata}}
%
% the following data could be saved in a file and then read
% with \readdata{\dataI}{external/file/name.dat}
%
\def\dataI{%
1 542
2 529
3 524
4 512
5 500
6 489
7 445
}
\def\dataII{
1 2,688
2 2,62
3 2,603
4 2,545
5 2,474
6 2,414
7 2,19
}
%
\makeatletter
\def\ScaleFactor{1.0}
\pst@def{ScalePoints}<%
/y ED /x ED
counttomark dup dup cvi eq not { exch pop } if
/m exch def /n m 2 div cvi def
n { y mul \ScaleFactor\space div m 1 roll x mul m 1 roll /m m 2 sub def } repeat>
%
\makeatother
%
\begin{document}
%
\begin{pspicture}(-0.5,-0.5)(10.5,11)
\psset{xunit=1.5}
\multido{\r=0+3.125,\i=0+500}{4}{%
\psline[linewidth=0.1pt](7,\r)(7.1,\r)\uput[0](7.1,\r){\numprint{\i}}}
\psaxes[dy=2,Dy=200000,axesstyle=frame,tickstyle=bottom,Ox =1](7,10)
\rput{90}(-1.5,5){digitaler Wert}
%\rput(3.5,6){Number of X-rays}
\rput{90}(8,5){Spannung[V]}
%\rput(5,2.5){Cases diagnosed}
\rput(3.5,-1.25){Winkel[°]}
\psset{showpoints=true,dotsize=0.2,plotstyle=line, linewidth=2pt}
\def\ScaleFactor{100000.0}
\listplot[linecolor=red]{\dataI}
\def\ScaleFactor{150.0}
\listplot[linecolor=blue]{\dataII}
\end{pspicture}
\end{document}
Ich habe meine Werte für x und y eingetragen, aber er bezieht die Werte nicht auf diese Achse, des weiteren komme ich mit der Beschriftung der Achsen nicht klar.
Zwischen der linken Y Achse und der X Achse ist mehr Abstand, als zwischen der rechten y-Achse und der x-Achse.
Ich benutze für meine komplette Arbeit pdftex, damit funktioniert pstricks nicht, oder?
Die Diagramme finde ich aber recht schön, kann ich Sie doch irgendwie benutzen?
Was ist wenn ich die Diagramme in einer externen Datei erzeuge, diese dann in einem Grafikprogramm raus schneide, als pdf abspeichere, und dann als Grafik in Latex einfüge?
Es wäre nett, wenn jemand Zeit und Lust hätte, mir zu helfen.
Ich bin gerade dabei meine Dipl. Arbeit zu schreiben und benötige noch Diagramme. Da ich mit LATEX schreibe, will ich keine Excel Diagramme einfügen. Ich habe PSTricks gefunden, das gefällt mir auch ziemlich gut, aber ich habe da noch so meine Probleme.
Ich habe von der Seite:
http://tug.org/PSTricks/main.cgi?file=pst-plot/psaxes#labelpos
Das Bsp.: multi axes gezogen, da ich auch zwei y-Achsen brauche.
Da habe ich soweit abgeändert, doch so richtig funktioniert es nicht. Da ich mehrere Diagramme einfügen muss, aber alle ähnlich sind nur mit anderen Werten, reicht mir eine richtige Version, die ich dann soweit abändere.
Hier ist mal mein Bsp:
\documentclass[12pt]{article}
\usepackage{pst-plot}
\usepackage{multido}
\usepackage{numprint}% you need the latest (!!!) version
\npthousandsep{\,}
\usepackage{arrayjob}% load it after numprint
%
\newarray{\Years}
\readarray{Years}{%
& -1 & -0,5 & -0,25 & 0 & 0,25 & 0,5& 1%
}
\def\psvlabel#1{\numprint{#1}}%
\def\pshlabel#1{{\checkYears(#1)\small\cachedata}}
%
% the following data could be saved in a file and then read
% with \readdata{\dataI}{external/file/name.dat}
%
\def\dataI{%
1 542
2 529
3 524
4 512
5 500
6 489
7 445
}
\def\dataII{
1 2,688
2 2,62
3 2,603
4 2,545
5 2,474
6 2,414
7 2,19
}
%
\makeatletter
\def\ScaleFactor{1.0}
\pst@def{ScalePoints}<%
/y ED /x ED
counttomark dup dup cvi eq not { exch pop } if
/m exch def /n m 2 div cvi def
n { y mul \ScaleFactor\space div m 1 roll x mul m 1 roll /m m 2 sub def } repeat>
%
\makeatother
%
\begin{document}
%
\begin{pspicture}(-0.5,-0.5)(10.5,11)
\psset{xunit=1.5}
\multido{\r=0+3.125,\i=0+500}{4}{%
\psline[linewidth=0.1pt](7,\r)(7.1,\r)\uput[0](7.1,\r){\numprint{\i}}}
\psaxes[dy=2,Dy=200000,axesstyle=frame,tickstyle=bottom,Ox =1](7,10)
\rput{90}(-1.5,5){digitaler Wert}
%\rput(3.5,6){Number of X-rays}
\rput{90}(8,5){Spannung[V]}
%\rput(5,2.5){Cases diagnosed}
\rput(3.5,-1.25){Winkel[°]}
\psset{showpoints=true,dotsize=0.2,plotstyle=line, linewidth=2pt}
\def\ScaleFactor{100000.0}
\listplot[linecolor=red]{\dataI}
\def\ScaleFactor{150.0}
\listplot[linecolor=blue]{\dataII}
\end{pspicture}
\end{document}
Ich habe meine Werte für x und y eingetragen, aber er bezieht die Werte nicht auf diese Achse, des weiteren komme ich mit der Beschriftung der Achsen nicht klar.
Zwischen der linken Y Achse und der X Achse ist mehr Abstand, als zwischen der rechten y-Achse und der x-Achse.
Ich benutze für meine komplette Arbeit pdftex, damit funktioniert pstricks nicht, oder?
Die Diagramme finde ich aber recht schön, kann ich Sie doch irgendwie benutzen?
Was ist wenn ich die Diagramme in einer externen Datei erzeuge, diese dann in einem Grafikprogramm raus schneide, als pdf abspeichere, und dann als Grafik in Latex einfüge?
Es wäre nett, wenn jemand Zeit und Lust hätte, mir zu helfen.