Seite 1 von 1
Quadrate als Füllung bei einer Funktion
Verfasst: Mo 6. Jun 2011, 19:31
von Georg Gütschow
\documentclass[10pt]{scrartcl} %Schriftgröße10, Dokumenttyp Article im KOMA-Script
%geladene Pakete
\usepackage[ngerman]{babel} %Paket für deutsche Rechtschreibung+Spracherkennung
\usepackage[utf8x]{inputenc} %Paket für Umlaute
\usepackage{amsmath} %mathematisches Paket
\usepackage{amssymb} %mathematisches Paket
\usepackage{amstext} %mathematisches Paket
\usepackage{pstricks,pst-all} %Pakete für PS-Tricks und Funktionsumgebungen
\begin{figure}[htbp] %Figure-Umgebung, zentriert ausgerichtet
\psset{xunit=1.5cm,yunit=0.1cm}
%eine x-Einheit entspricht 15cm , eine y-Einheit entspricht 0,1cm
\begin{pspicture}[showorigin=false]
%PS-Picture-Umgebung ohne Darstellung des Koordinatenursprungs
\definecolor{hellgrau}{rgb}{0.95,0.95,0.95}
%Farbdefinition der Hintergrundfarbe laut Vorlage
\psaxes[axesstyle=frame,ticksize=0pt,labels=none,fillstyle=solid,fillcolor=hellgrau](13,110)(1,0)
%Koordinatenachsen als Box dargestellt, ohne Anstriche und Bezeichnungen, voller Füllfarbe in Hellgrau von x-min=-13,x- max=1,y-min=110,y-max=0
\psaxes[Ox=0.0,Dx=1,dx=1,Dy=10,dy=10,axesstyle=axes,linestyle=dotted,ylabelPos=right,xlabelPos=top](12,100)(2,10)
%innere Koordinatenachse mit x-Abstand von 1 und y-Abstand von 10, gepunktetem Linienstil, Zahlen an den Koordinatenachsen bei der x-Achse oberhalb und bei der y-Achse rechts
\psset{origin={12,100}}
%Setzen des Koordinatenursprungs bei 12,100
\psplot[algebraic,fillstyle=crosshatch,plotstyle=bar,linestyle=none,hatchcolor=orange]{0}{-10} {0.025*x^4+0.25*x^3+2.5*x^2+25*x}
%Plotten der Funktion mit "algebraic" um gewoehnliche mathematische Schriftweise zu verwenden. Beim Fillstyle müsste laut Aufgabestellung "fillstyle=boxfill" eingefügt werden, jedoch lässt sich die Datei dann nicht kompilieren - daher haben wir "crosshatch" verwendet. Die Funktion wird in Form von Balken dargestellt und nur die organene Füllung und nicht die Funktionslinien werden dargestellt.
\rput(12.2,100){$h$}
\rput(1.7,100){$K\left( h\right)$}
%Einbinden von Bezeichnungen an (x,y)- Koordinaten
\end{pspicture} %Ende PS-Picture-Umgebung
\caption[Abbildung 2: Aufgabe 5: Funktionen plotten]{Abbildung 2: \textbf{Aufgabe 5: \underline{Funktionen plotten}}}
%Abbildungsunterschrift mit Verweis im Abbildungsverzeichnis
\end{figure} %Ende Figure-Umgebung
\end{document} %Ende des gesamten Dokuments
Ich habe das Problem, dass ich bei meiner Funktion gerne als Füllung kleine Quadrate haben würde, d.h. also fuer den Bereich unter der Funktionskurve. Ich habe dabei an den Befehl "fillstyle=boxfill" gedacht - leider erhalte ich dabei Fehlermeldungen.
Habt ihr eine Idee wie ich dies realisieren koennte!?
MFG Georg
Verfasst: Mo 6. Jun 2011, 20:21
von KOMA
Die erste Fehlermeldung kommt, weil Du \begin{document} vergessen hast. Die zweite Fehlermeldung, sagt dann eigentlich auch sehr genau, was Du vergessen hast: \psboxfill (siehe dazu die Anleitung zu pst-fill, Abschnitt 2.1 gibt ein Beispiel).
Verfasst: Di 7. Jun 2011, 06:30
von Georg Gütschow
Das \begin{document} hab ich nur hier beim Rüberkopieren in den Thread vergessen. Kannst du mir da mal ne Idee geben wie der Quellcode dann aussehen sollte? Ich habe das echt schon probiert mit dem \psboxfill, aber nicht auf die Reihe bekommen....
Danke
Re: Quadrate als Füllung bei einer Funktion
Verfasst: Di 7. Jun 2011, 10:38
von CrazyHorse
Georg Gütschow hat geschrieben:Ich habe das Problem, dass ich bei meiner Funktion gerne als Füllung kleine Quadrate haben würde, d.h. also fuer den Bereich unter der Funktionskurve. Ich habe dabei an den Befehl "fillstyle=boxfill" gedacht - leider erhalte ich dabei Fehlermeldungen.
Habt ihr eine Idee wie ich dies realisieren koennte!?
das ist alles ein wildes durcheinander, bei dem alle Zahlenwerte falsch sind, weil du überall keine Minuszeichen hast, keine Koordinaten bei pspicture usw. Da hat man schon keine Lust. länger nachzudenken, um zu verstehen, was du eigentlich machen willst:
\documentclass[paper=a4]{scrartcl}
\usepackage{pst-fill,pst-plot}
\begin{document}
\psset{yunit=0.1cm}
\begin{pspicture}(-13,-110)(2,11)
\psframe[fillstyle=solid,fillcolor=black!10](-12,-110)(2,10)
\psaxes[Ox=0,Dy=10,dy=10,linestyle=dotted,
ylabelPos=right,xlabelPos=top](-12,-100)(2,10)
\psplot[algebraic,fillstyle=crosshatch,plotstyle=bar,
hatchcolor=orange,hatchangle=0,linestyle=none]{-10}{1}{0.025*x^4+0.25*x^3+2.5*x^2+25*x}
\rput(-12.2,-100){$h$}
\rput(-1.7,-100){$K\left( h\right)$}
\end{pspicture}
\end{document}
Verfasst: Di 7. Jun 2011, 21:41
von Georg Gütschow
Sorry, aber ich arbeite erst seit wenigen Wochen mit LaTeX und meine Aufgabenstellung ist etwas speziell. Ich habe es nun soweit hinbekommen, dass die Funktion im gewünschten Muster gefüllt wird, allerdings fehlt die Füllung bei rund einem Drittel der Funktion - nämlich dem rechts oberen Teil.
Habt ihr eine Ahnung wie ich diesen Teil zusätzlich fülle - ich muss denke mal irgendwie den Bereich der Füllung vergrößern. Danke im Voraus!
\documentclass[10pt]{scrartcl} %Schriftgröße10, Dokumenttyp Article im KOMA-Script
%geladene Pakete
\usepackage[ngerman]{babel} %Paket für deutsche Rechtschreibung+Spracherkennung
\usepackage[utf8x]{inputenc} %Paket für Umlaute
\usepackage{color} %Paket für Farbhervorhebungen
\usepackage[T1]{fontenc} %Paket für die Schriftart, Stil T1
\usepackage{amsmath} %mathematisches Paket
\usepackage{amssymb} %mathematisches Paket
\usepackage{amstext} %mathematisches Paket
\usepackage{pstricks,pst-all} %Pakete für PS-Tricks und Funktionsumgebungen
\usepackage{xcolor} %Paket für Farben in PS-Tricks-Umgebung
\begin{document} %Beginn des Dokuments
\begin{figure}[htbp] %Figure-Umgebung, zentriert ausgerichtet
\psset{xunit=1cm,yunit=1cm,dimen=middle}
\psboxfill{%
\begin{pspicture}(0.2,0.2)
\psframe[fillstyle=solid,fillcolor=orange,linestyle=none](0.2,0.2)
\end{pspicture}}
\begin{pspicture}[showorigin=false]
%PS-Picture-Umgebung ohne Darstellung des Koordinatenursprungs
\psset{xunit=1.5cm,yunit=0.1cm}
%eine x-Einheit entspricht 15cm , eine y-Einheit entspricht 0,1cm
\definecolor{hellgrau}{rgb}{0.95,0.95,0.95}
%Farbdefinition der Hintergrundfarbe laut Vorlage
\psaxes[axesstyle=frame,ticksize=0pt,labels=none,fillstyle=solid,fillcolor=hellgrau](13,110)(1,0)
%Koordinatenachsen als Box dargestellt, ohne Anstriche und Bezeichnungen, voller Füllfarbe in Hellgrau von x-min=-13,x- max=1,y-min=110,y-max=0
\psaxes[Ox=0.0,Dx=1,dx=1,Dy=10,dy=10,axesstyle=axes,linestyle=dotted,ylabelPos=right,xlabelPos=top](12,100)(2,10)
%innere Koordinatenachse mit x-Abstand von 1 und y-Abstand von 10, gepunktetem Linienstil, Zahlen an den Koordinatenachsen bei der x-Achse oberhalb und bei der y-Achse rechts
\psset{origin={12,100}}
%Setzen des Koordinatenursprungs bei 12,100
\psplot[algebraic,fillstyle=boxfill,fillsep=0.1]{0}{-10}{0.025*x^4+0.25*x^3+2.5*x^2+25*x}
%Plotten der Funktion mit "algebraic" um gewoehnliche mathematische Schriftweise zu verwenden. Beim Fillstyle müsste laut Aufgabestellung "fillstyle=boxfill" eingefügt werden, jedoch lässt sich die Datei dann nicht kompilieren - daher haben wir "crosshatch" verwendet. Die Funktion wird in Form von Balken dargestellt und nur die organene Füllung und nicht die Funktionslinien werden dargestellt.
\rput(12.2,100){$h$}
\rput(1.7,100){$K\left( h\right)$}
%Einbinden von Bezeichnungen an (x,y)- Koordinaten
\end{pspicture} %Ende PS-Picture-Umgebung
\caption[Abbildung 2: Aufgabe 5: Funktionen plotten]{Abbildung 2: \textbf{Aufgabe 5: \underline{Funktionen plotten}}}
%Abbildungsunterschrift mit Verweis im Abbildungsverzeichnis
\end{figure} %Ende Figure-Umgebung
\end{document} %Ende des gesamten Dokuments
Verfasst: Mi 8. Jun 2011, 08:02
von KOMA
Dein erster Schritt sollte sein, die Antwort von CrazyHorse bei Deinem Lösungsversuch zu berücksichtigen …
BTW: Deine \caption-Anweisung ist wohl auch wenig gelungen. Zu utf8x findest Du ebenfalls Hinweise im Forum. Der Kommentar zu xcolor ist falsch und warum Du zuvor auch noch color lädst, weißt vermutlich auch nur Du …
Also nimm den Hinweis ernst und räume das Chaos auf. Das hat auch gar nichts mit irgendwelchen besonderen Anforderungen zu tun. Da hat CrazyHorse bestimmt schon sehr viel speziellere Anforderungen gesehen …
Verfasst: Mi 8. Jun 2011, 09:34
von CrazyHorse
Georg Gütschow hat geschrieben:Sorry, aber ich arbeite erst seit wenigen Wochen mit LaTeX und meine Aufgabenstellung ist etwas speziell. Ich habe es nun soweit hinbekommen, dass die Funktion im gewünschten Muster gefüllt wird, allerdings fehlt die Füllung bei rund einem Drittel der Funktion - nämlich dem rechts oberen Teil.
Habt ihr eine Ahnung wie ich diesen Teil zusätzlich fülle - ich muss denke mal irgendwie den Bereich der Füllung vergrößern. Danke im Voraus!
Wichtig ist bei der Anwendung von LaTeX und PSTricks, dass du immer vom Einfachen zum Komplizierten gehst. Es ist also besser, wenn du erst mal alle Pakete weglässt, die damit nichts zu tun haben. Dann solltest du normale Koordinaten nehmen und bekommst ein kurzes Beispiel, welches genau das macht, was du möchtest. Hier eine Lösung mit Clippen:
\documentclass{scrartcl}
\usepackage{pst-all}
\begin{document} %Beginn des Dokuments
\psboxfill{%
\begin{pspicture}(2mm,2mm)
\psframe*[linecolor=orange](2mm,2mm)
\end{pspicture}}
\psset{yunit=0.1cm}
\begin{pspicture}(-11,-90)(2,12)
\psframe[fillstyle=solid,fillcolor=black!10](-11,-90)(1.5,12)
\psaxes[Dy=10,dy=10,axesstyle=axes,linestyle=dotted,
ylabelPos=right,xlabelPos=top](0,0)(-10,-80)(1,10)
\psclip{\psplot[algebraic,linestyle=none]{-10}{0}{0.025*x^4+0.25*x^3+2.5*x^2+25*x}}
\rput(-10,-90){\psframe[linecolor=blue,fillstyle=boxfill,fillsep=0.5mm](10,90)}
\endpsclip
\psplot[algebraic,linewidth=2pt]{0}{-10}{0.025*x^4+0.25*x^3+2.5*x^2+25*x}
% \rput(12.2,100){$h$}
% \rput(1.7,100){$K\left( h\right)$}
\end{pspicture}
\end{document}
Herbert
Verfasst: Mi 8. Jun 2011, 16:39
von Georg Gütschow
Vielen Dank Herbert,
wisst ihr jetzt noch zufaellig wie man bei Herbert's Beispiel die Füllung so anordnen kann, dass sie parkettiert verläuft d.h. dass sie ein halbkreismäßiges Muster ergeben, was an der schwarzen Funktionslinie immer mit vollen Frames endet und an der x-Achse dann unregelmäßig (also nicht wie jetzt alle frames parallel) endet?!
Vielen Dank im Voraus, aber ihr habt mir schon sehr geholfen!
Verfasst: Mi 8. Jun 2011, 21:17
von CrazyHorse
Georg Gütschow hat geschrieben:
wisst ihr jetzt noch zufaellig wie man bei Herbert's Beispiel die Füllung so anordnen kann, dass sie parkettiert verläuft d.h. dass sie ein halbkreismäßiges Muster ergeben, was an der schwarzen Funktionslinie immer mit vollen Frames endet und an der x-Achse dann unregelmäßig (also nicht wie jetzt alle frames parallel) endet?!
das ist ein ziemlicher Aufwand, aber \psStep aus pstricks-add geht in die entsprechende Richtung.
Herbert