Kann ich den Koordinatenpunkt mit einem Rechteck, dessen Größe ich definiere ersetzen? Z.b. Länge 0.1/Höhe 0.12?

Open in Online-Editor
\documentclass{article}

\usepackage{tikz,pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[enlargelimits=0.2,colorbar]
\addplot[
scatter,mark=square*,only marks,
point meta=\thisrow{myvalue}
]
table {
x y  myvalue
0.5  1 0.25
0.2  2 3
0.7  3 0.75
0.35  4 0.125
0.65  5 2
};
\end{axis}
\end{tikzpicture}

\end{document}

gefragt 25 Aug '16, 09:01

Linux404's gravatar image

Linux404
3221622
Akzeptiert-Rate: 100%

bearbeitet 25 Aug '16, 10:17

Henri's gravatar image

Henri
15.7k133943


Ein sehr ähnliches Beispiel gibt es in der Dokumentation, siehe visualization depends on.

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
  \begin{axis}[enlargelimits=0.2,colorbar]
    \addplot[
    scatter,mark=square*,only marks,
    point meta=\thisrow{myvalue},
    visualization depends on=
      {\thisrow{myvalue} \as \perpointmarksize},
    scatter/@pre marker code/.append style=
      {/tikz/mark size=\perpointmarksize}
    ]
    table {
      x    y  myvalue
      0.5  1  0.25
      0.2  2  3
      0.7  3  0.75
      0.35 4  0.125
      0.65 5  2
    };
  \end{axis}
\end{tikzpicture}

\end{document}

alt text


Wenn das nicht gemeint war, dann kann man leicht einen eigenen Plotmarker definieren. Man muss bei den Größen immer Einheiten mit angeben, ansonsten wird pt gewählt.

Open in Online-Editor
\documentclass{article}
\usepackage{pgfplots}

\newdimen\pgfplotmarkwidth
\newdimen\pgfplotmarkheight

\def\pgfsetplotmarkwidth#1{\pgfmathsetlength\pgfplotmarkwidth{#1}}
\def\pgfsetplotmarkheight#1{\pgfmathsetlength\pgfplotmarkheight{#1}}

\tikzoption{mark width}{\pgfsetplotmarkwidth{#1}}
\tikzoption{mark height}{\pgfsetplotmarkheight{#1}}

\pgfdeclareplotmark{rectangle}{%
  \pgfpathrectangle
    {\pgfqpoint{-.5\pgfplotmarkwidth}{-.5\pgfplotmarkheight}}%
    {\pgfqpoint{\pgfplotmarkwidth}{\pgfplotmarkheight}}%
  \pgfusepathqfillstroke
}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[enlargelimits=0.2,colorbar]
    \addplot[
    scatter,mark=rectangle,only marks,
    mark width=0.1cm,mark height=0.12cm,
    point meta=\thisrow{myvalue}
    ]
    table {
      x    y  myvalue
      0.5  1  0.25
      0.2  2  3
      0.7  3  0.75
      0.35 4  0.125
      0.65 5  2
    };
  \end{axis}
\end{tikzpicture}

\end{document}

alt text

Permanenter link

beantwortet 25 Aug '16, 10:06

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 25 Aug '16, 10:09

@danke-schön bei verwendung von pgfplotsset{width=15cm,height=10cm} gibt es leider eine Abweichung um einige cm. (Wenn ich den Ausdruck per Lineal nach messe) Warum? bzw: begin{axis}[enlargelimits=0.2,colorbar, grid=major,width=12cm, height=16cm]

(25 Aug '16, 13:14) Linux404

@Linux404 Das ist doch eher eine neue Frage? Hat nix mehr mit Rechtecken zu tun oder mit Henri's Beispiel. Poste es doch als neue Frage. Auch wenn sehr oft @Henri antwortet und er das (auch) hier sieht, ist es doch eine öffentliche Seite mit sortierter Archiv-Funktion, wo man nicht Fragen vermischen sollte. Danke!

(25 Aug '16, 13:21) stefan ♦♦

ok ... werde ich machen... tut mir leid für das ständige stören

(25 Aug '16, 13:23) Linux404

@Linux404 Kein Problem, für Fragen ist TeXwelt da. :-)

(25 Aug '16, 13:27) stefan ♦♦
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×296
×53
×27

gestellte Frage: 25 Aug '16, 09:01

Frage wurde gesehen: 6,500 Mal

zuletzt geändert: 25 Aug '16, 13:27