Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Diagramm mit pstricks

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.01.2010
    Beiträge
    7

    Diagramm mit pstricks

    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?fil...saxes#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:
    Code:
    \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.

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    Daten werden mit Punkt und nicht mit Komma getrennt,

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.01.2010
    Beiträge
    7
    Hallo,

    was genau meinst du mit Daten?
    Dort wo ich ein Komma gemacht habe, dass soll eine Kommazahl sein.

  4. #4
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    latex isr grundsätzlich englisch und dort ist der dezimaltrenner ein . und nicht ein ,. also muss es 2.55 anstatt 2,55 heißen
    Mein Ball ist umgefallen

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.01.2010
    Beiträge
    7
    Hallo,

    OK. das habe ich jetzt. Jetzt werden mir die Daten aber immer noch nicht auf die y-Achsen bezogen.

  6. #6

  7. #7
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Hansi Beitrag anzeigen
    OK. das habe ich jetzt. Jetzt werden mir die Daten aber immer noch nicht auf die y-Achsen bezogen.
    du brauchst hier nicht den Aufwand wie im Beispiel von
    http://PSTricks.tug.org zu betreiben:

    Code:
    \documentclass[12pt]{article}
    \usepackage{pst-plot}
    \usepackage{multido}
    %
    % 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
    }
    %
    \begin{document}
    %
    \begin{pspicture}(0.5,-0.5)(8,11)
      \psset{xunit=1.5}
      \psaxes[dy=2,Dy=200,axesstyle=frame,tickstyle=bottom,Ox=-1](1,-0.4)(7,10)
      \rput{90}(-2,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[$^\circ$]}
      \psset{showpoints=true,dotsize=0.2,plotstyle=line,linewidth=2pt}
      \listplot[yunit=0.01,linecolor=red]{\dataI}
      \listplot[yunit=3,linecolor=blue]{\dataII}
    \end{pspicture}
    
    \end{document}
    Herbert

  8. #8
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo Herbert,

    Passt das hier:
    http://www.matheplanet.com/matheplan...986417#v986417
    oder war ich zu umständlich?

    Gruß
    Marco

  9. #9
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von mechanicus Beitrag anzeigen
    Passt das hier:
    http://www.matheplanet.com/matheplan...986417#v986417
    oder war ich zu umständlich?
    oh, wenn ich das gesehen hätte, dann hätte ich auch nicht geantwortet.
    Doppelposts sind nervig.

    Die Werte sind eigentlich harmlos, sodass man sie direkt über yunit
    verarbeiten kann und ebenso ein Achsenpaar. Dann kan man sich
    \pstScalePoints sparen. Aber psgraph ist schon die richtige Variante!

    Herbert

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •