Problem mit pstricks

Weitere Software zur Bearbeitung wie epstopdf, pdffonts, pdfcrop uvm.


Dissmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: Mo 11. Jan 2010, 15:37

Problem mit pstricks

Beitrag von Dissmaster »

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=p ... s#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.
Und ich bekomme das ° Zeichen nicht dargestellt.
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.

[/code]

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Als Ergänzung zu ps-tricks gibt es das Paket pdftricks für pdflatex. Bitte unbedingt die Anleitung beachten!

Das Grad-Zeichen findest Du in symbols-a4. Es wird als \textdegree von \usepackage{textcomp} bereit gestellt. Mit dem richtigen Input-Encoding kann man es ggf. auch direkt eingeben:
\documentclass{article}
\usepackage[latin1]{inputenc}
\begin{document}
°
\end{document}

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hallo für pdflatex gibt es tikz das daraufaufbauende pgfplots Das ist insgesammt sehr Benutzerfreundlich.

Dissmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: Mo 11. Jan 2010, 15:37

Beitrag von Dissmaster »

Hallo,

danke für die Antworten.
Das mit tikz habe ich mir mal angeschaut, aber nicht so richtig verstanden.
Der Code von oben, entspricht ja schon dem was ich so haben will, dshalb habe ich gedacht, man könnte darauf aufbauen.
Ich habe jetzt nicht vor noch weiter Programm oder zusatz tools zu verwenden.
Ist es nicht möglich, mir anhand dem obigen Code das ganze etwas näher zu bringen?

Danke

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Was willst du denn beigebracht bekommen?
Wenn du mit pstricks arbeiten kannst dann kannst du eben nicht mit pdflatex arbeiten sondern musst mit latex arbeiten. Wenn du das nicht willst musst du pdftricks oder tikz bzw ein tikz derivat nehmen.

Dissmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: Mo 11. Jan 2010, 15:37

Beitrag von Dissmaster »

Hallo,

der code den ich oben gepostet habe, will ich gerne verstehen, so das ich ein Diagramm hinbekomme.
Ich habe meine Werte für die beiden y-Achsen eingetragen. Nur bezieht er meine eingetragenen Werte nicht auf die Achsen bezogen.
Die Beschriftung der Achsen mit Text bekomme ich hin, aber die Skalierung und den Rest nicht.

auf der Linken y-Achse gehen meine Werte von 445 bis 550. Ich will einfach nur das er mir diese Skalierung macht.
So das ich z.B. bei -1 auf der X-Achse einmal einen y Wert von 445 und einmal einen y-Wert (rechte Achse) von 2,19 habe.


Vielen Dank

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Und in welchem Dialekt jetzt? Also wenn das wiklich verstehen willst, dann würde ich dir die Orginal Dokumentation nahelegen. Zudem würde ich mir überlegen, ob ich wirklich immer noch auf pstricks setzen würde, da dass arbeiten über DVi immer weniger verwendet wird. Zumindest was den Bereich betrifft, den ich überschaue. Zudem ist gerade TikZ sehr aktiv inder Entwicklung, was nie schelcht ist.

Dissmaster
Forum-Anfänger
Forum-Anfänger
Beiträge: 34
Registriert: Mo 11. Jan 2010, 15:37

Beitrag von Dissmaster »

Hallo,

es geht mir eigentlich um den Teil:
\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}
So die ersten Zeilen, da stehe so viele Zahlen drin, und die müssen irgendwie angepasst werden auf meine Werte.
Dann der Scale Faktor, wie ich den wählen soll/muss.

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 825
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Crossposting

Beitrag von localghost »

Nimm den Rat vom Experten an.

Diagramm mit pstricks - mrunix.de


MfG
Thorsten¹
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).

Antworten