PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tkiz Grafik, pattern und grid



DaPhil
03-05-2010, 07:00
Hallo,
erstelle gerade eine Grafik mittels tikz. Gibt es die Möglichkeit, den grid gepunktet zu bekommen? Mit dotted sind es keine Punkte sondern kleine Quadrate...
Und: Kann man den Abstand von Linien der patterns einstellen? Ich wollte eine Fläche mit dem pattern "north west lines" füllen aber die Linien sind mir zu eng beieinander...
Danke!

LuPi
03-05-2010, 12:06
Und: Kann man den Abstand von Linien der patterns einstellen? Ich wollte eine Fläche mit dem pattern "north west lines" füllen aber die Linien sind mir zu eng beieinander...

Vor dem Problem habe ich auch schon gestanden. Meine Lösung sieht so aus:



% Definition einer 'weiten' Schraffierung
% nur vorübergehend, bis entsprechender Code in TikZ verfügbar ist
% 14. Februar 2008

\pgfdeclarepatternformonly{wide north east lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{7pt}{7pt}}{\pgfqpoint{6pt}{6pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{6.1pt}{6.1pt}}
\pgfusepath{stroke}
}

\pgfdeclarepatternformonly{wide horizontal lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{7pt}{7pt}}{\pgfqpoint{6pt}{6pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{6.1pt}{0pt}}
\pgfusepath{stroke}
}

\pgfdeclarepatternformonly{wide north west lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{7pt}{7pt}}{\pgfqpoint{6pt}{6pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{6pt}}
\pgfpathlineto{\pgfqpoint{6.1pt}{-0.1pt}}
\pgfusepath{stroke}
}

\pgfdeclarepatternformonly{wide vertical lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{7pt}{7pt}}{\pgfqpoint{6pt}{6pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{0pt}{6.1pt}}
\pgfusepath{stroke}
}

\pgfdeclarepatternformonly{wide crosshatch}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{7pt}{7pt}}{\pgfqpoint{6pt}{6pt}}%
{
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{6.1pt}{6.1pt}}
\pgfusepath{stroke}
\pgfsetlinewidth{0.4pt}
\pgfpathmoveto{\pgfqpoint{0pt}{6pt}}
\pgfpathlineto{\pgfqpoint{6.1pt}{-0.1pt}}
\pgfusepath{stroke}
}


Mir schwebt auch eher eine variable Lösung vor, aber das übersteigt meine Fähigkeiten. Vielleicht noch einmal ein feature request bei den Entwicklern anmelden. Mein damaliger Vorstoß wurde damals mit "zu aufwendig" beschieden, wenn ich mich recht erinnere. Auf der anderen Seite kann ich mit der gegenwärtigen Lösung leben.