AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [LaTeX: pstricks] Probleme mit zu großer Dimensionsdifferenz
Thema durchsuchen
Ansicht
Themen-Optionen

[LaTeX: pstricks] Probleme mit zu großer Dimensionsdifferenz

Ein Thema von Nils_13 · begonnen am 25. Aug 2008 · letzter Beitrag vom 25. Aug 2008
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

[LaTeX: pstricks] Probleme mit zu großer Dimensionsdifferenz

  Alt 25. Aug 2008, 18:47
Hi,

ich muss ein Geschwindigkeits-Zeit-Diagramm mithilfe von pstricks mit LaTeX zeichnen. Es gibt dabei ein Problem: Die Geschwindigkeit wird in km/h angegeben, die Zeit logischerweise in h. Daher gibt es bei den beiden Achsen zwei komplett unterschiedliche Dimensionen. Auf der Zeitachse findet man 0,00x/0,0x und auf der Geschwindigkeitsachse vergleichsweise riesige 80. Da beschwert sich dummerweise pstricks enorm:
Code:
\begin{pspicture}(-1,-1)(8,5)
  \psset{xAxisLabel =$\frac{t}{h}$,yAxisLabel =$\frac{v}{\frac{km}{h}}$}
  \begin{psgraph}[arrows=->,Dx=0.002,Dy=10](0,0)(0,0)(0.019,89)
{7cm}{4cm} % Arithmetic overflow.
    \psline[linecolor=blue](0,0)(0.010,60)(0.010,60)(0.018,60)
  \end{psgraph}
\end{pspicture}
In Umbruch der extra umgebrochenen Zeile gibt es einen Arithmetic overflow. Was kann man dagegen tun ? Wenn ich die 7cm und 4cm auf sagen wir mal 1cm stelle, funktioniert es. Allerdings ist der Graph dann zu klein, die Werte 7cm und 4cm dürfen in dem Sinne nicht verändert werden. Die anderen Werte die überall auftauchen (0.002 zum Beispiel) sind also so klein, dass der Graph ansonsten wohl zu groß wäre.

Da ich in diesem Forum noch keine Fragen zu pstricks gesehen habe, hier eine kleine Erklärung:
Code:
\begin{pspicture}(-1,-1)(8,5)
Hier wird die Größe des Bildes bestimmt: X, Y bis X, Y (der Graph befindet sich sozusagen in einer Box, einem pspicture).
Code:
\psset{xAxisLabel =$\frac{t}{h}$,yAxisLabel =$\frac{v}{\frac{km}{h}}$}
Die Achsenbeschriftungen werden gesetzt.
Code:
\begin{psgraph}[arrows=->,Dx=0.002,Dy=10](0,0)(0,0)(0.019,89){7cm}{4cm}
arrow weist den Pfeil zu, Dx/y das Intervall der X-/Y-Achse (bei 5, ist jeder Strich an der Achse eine Zahl basierend auf 5 --> 5,10,15,20 usw.), xOrig/yOrig, xMin/yMin, xMax/yMax, Breite des Graphen in cm, Höhe des Graphen in cm.

Das Problem ist ein logisches Problem, es hat nicht unbedingt was mit pstricks zu tun, sondern mit einem Denkfehler, den ich irgendwo drinnen habe. Ich habe schon tagelang gesucht, aber bin zu keiner Lösung gekommen. Ich weiß auch langsam nicht mehr, nach was ich überhaupt suchen soll, auch Begriffe wie pstricks skalieren usw. bringen nichts brauchbares. Die Lösung wäre denke ich, den Graphen hochzuskalieren, ich weiß aber nicht wie. Das hochskalieren des pspicture scheint auch so ohne weiteres nichts zu bringen.

Falls ihr eine Lösungsidee habt, die eventuell darin besteht, die Werte in andere Einheiten zu verpacken (was in meinen Augen eben leider nicht geht, die Zahlen bleiben immer in verschiedenen Dimensionen) oder anderes, nur her damit.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: [LaTeX: pstricks] Probleme mit zu großer Dimensionsdiffe

  Alt 25. Aug 2008, 19:34
Hier mal ein vollständigeres Beispiel..
Code:
\documentclass{article}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{pstricks-add}

\begin{document}
 \thispagestyle{empty}
 
 \begin{pspicture}(4, -1)(8, 15)
  \psset{xAxisLabel=$\frac{t}{h}$, yAxisLabel=$\frac{v}{\frac{km}{h}}$}
  \begin{psgraph}[arrows=->, Dx=0.01, Dy=10](0, 0)(0, 0)(0.11, 89){8cm}{10cm} 
    \psline[linecolor=blue](0, 0)(0.010, 60)(0.010, 60)(0.018, 60)
  \end{psgraph}
 \end{pspicture}
\end{document}
Warum muss dein X-Schritt so klein sein? Da kann man doch nichts mehr erkennen. Reicht da nicht Dx=0.01?

Edit: oder du gehst auf v[m/s] und t[s].
Code:
 \begin{pspicture}(4,-1)(8,15)
  \psset{xAxisLabel=$t [s]$, yAxisLabel=$v [\frac{m}{s}]$}
  \begin{psgraph}[arrows=->, Dx=1, Dy=10](0, 0)(0, 0)(10, 89){8cm}{10cm} 
    \psline[linecolor=blue](0, 0)(1, 60)(1, 60)(2, 60)
  \end{psgraph}
 \end{pspicture}
Wobei ich solche Diagramme nur in drei zusammenhängenden Darstellungen kenne.
1.: Y = a[m/s²], X = t[s] Beschleunigung
2.: Y = v[m/s], X = t[s] Geschwindigkeit
3.: Y = s[m], X = t[s] Weg
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: [LaTeX: pstricks] Probleme mit zu großer Dimensionsdiffe

  Alt 25. Aug 2008, 20:15
Die Abstände der "Wertrichtstriche" auf der X-Achse sollen ein gutes Maß haben, also 1cm mindestens. Das heißt im Klartext: Die X-Achse müsste man so lassen wie bei mir oben, allerdings verbreitern. Denn jeder Strich auf der X-Achse muss 0,002h größer sein als der vorherige.

(Mensch wie heißen die Striche bloß....)

So soll es also aussehen:
Code:
- 20km/h
|
|
- 10km/h
|
|
|---------|-------|
0,000h 0,0002h 0,0004h
Hier eine mögliche Lösung:

Code:
\begin{pspicture}(-1,-1)(8,5)
    \psset{xAxisLabel =$\frac{t}{h}$,yAxisLabel =$\frac{v}{\frac{km}{h}}$}
    \begin{psgraph}[arrows=->,Dx=0.002,dx=1cm,Dy=10](0,0)(0,0)(19,69){7cm}{4cm}
        \psline[linecolor=blue](0,0)(10,60)(10,60)(18,60)
    \end{psgraph}
\end{pspicture}
Man kann die Probleme mit der Integer-Arithmetik bei LaTeX umgehen, indem man sich eigene Maßstäbe setzt.

[edit=Matze]Lösung von Nils_13 eingefügt. MfG, Matze[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz