Ich habe zwei von den y-Werten her sehr nahe Punkte (500, 7.8), (5000, 7.7). Ich würde gerne zwei Dinge erreichen (die Frage deckt nr. 1 ab):

  1. y = 7.7 und 7.8 sollen als Beschriftung der Achse vorhanden sein (aktuell nur 7.7, weil sie sich sonst verdecken). Ich stelle es mir so vor, dass eine der Zahlen weiter außen stehen dürfte.

  2. da bei dem scatter plot nicht klar erkennbar ist, welcher Punkt zu den jeweiligen y-Werten gehört, wären gestrichelte Linen (oder ähnliches) schön, die jeweils den Punkt mit der Achse verbinden.

Geht das? Ansonsten bin ich auch für Alternativen dankbar. Danke für Eure Hilfe!

Hier ist der code:

\begin{tikzpicture}
\begin{axis}[
    legend style={
      at={(current bounding box.south-|current axis.south)},
      anchor=north,
      legend columns=-1
    },
    x=1.5cm, y=1.5cm/3,
    ylabel={seconds},
    xlabel={Number of Entities},
    xmode=log,
    scaled ticks=false,
    xticklabels={500,5.000,50.000,500.000},
    yticklabels={ ,7.7,8.4,17.6},
    ytick={7.8,7.7,8.4,17.6},
    xtick=data,
    tick label style={/pgf/number format/fixed},
    scatter/classes={%
        a={mark=square*,blue}}
]
    \addplot[scatter,only marks,%
        scatter src=explicit symbolic]%
    table[meta=label] {
        x     y      label
        500   7.8   {a} 
        5000  7.7   a 
        50000  8.4   a 
        500000  17.6    a 
    };
\end{axis}
\end{tikzpicture}

gefragt 17 Aug '21, 10:31

DeJaniero's gravatar image

DeJaniero
2112
Akzeptiert-Rate: 0%


Eine mögliche Alternative wäre die Beschriftung der einzelnen Punkte. Dafür kann

nodes near coords*={\pgfmathprintnumber{\y}},
visualization depends on={\thisrow{y} \as \y}

bei den Optionen der axis Umgebung oder der \addplot Anweisung ergänzt werden.

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    legend style={
      at={(current bounding box.south-|current axis.south)},
      anchor=north,
      legend columns=-1
    },
    x=1.5cm, y=1.5cm/3,
    ylabel={seconds},
    xlabel={Number of Entities},
    xmode=log,
    scaled ticks=false,
    xticklabels={500,5.000,50.000,500.000},
    %yticklabels={ ,7.7,8.4,17.6},
    %ytick={7.8,7.7,8.4,17.6},
    xtick=data,
    tick label style={/pgf/number format/fixed},
    scatter/classes={%
        a={mark=square*,blue}},
    nodes near coords*={\pgfmathprintnumber{\y}},% <- ergänzt
    visualization depends on={\thisrow{y} \as \y}% <- ergänzt
  ]
    \addplot[scatter,only marks,
      scatter src=explicit symbolic,
    ]%
    table[meta=label] {
        x     y      label
        500   7.8   {a} 
        5000  7.7   a 
        50000  8.4   a 
        500000  17.6    a 
    };
  \end{axis}
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 18 Aug '21, 18:47

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Das finde ich ja super! Das werde ich nach dem Urlaub direkt einmal in einer statistischen auswertung ausprobieren. Darauf wäre ich ja nie gekommen. Ich bin gespannt, ob ich das hinbekomme.

(19 Aug '21, 09:15) huibub
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:

×298

gestellte Frage: 17 Aug '21, 10:31

Frage wurde gesehen: 3,008 Mal

zuletzt geändert: 19 Aug '21, 09:15