Wie komme ich zu folgender Darstellung meines Diagrammes? Danke für eure Hilfe.

alt text

Quellcode:

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

\begin{document}
\pgfplotsset{width=15cm,height=10cm}
\begin{tikzpicture}
\begin{axis}[colorbar sampled,
    colorbar style={samples=13},
    grid=both,
    scale only axis=true,
    width=10cm,
    height=15cm,
    xtick={0,1,...,10},
    ytick={-8,-7,...,10},
    xmin=0,
    xmax=10,
    ymin=-8,
    ymax=8,
    ]

\addplot3[
    scatter,mark=text, text mark={\rule{6mm}{3mm}},only marks,
    point meta=\thisrow{myvalue}
    ]
    table {
    x y color myvalue
2 3 1 100
4 3 2 3
2 7 3 0.75
7 7 4 45
8 5 2 3
2 5 1 10
4 -4 2 1
4 1 3 75
5 -1 4 4
5 2 2 3
1 -2 1 10
2 5 2 5
3 -8 3 75
4 5 4 42
7 -2 2 2
    };
\end{axis}
\end{tikzpicture}

\end{document}

gefragt 30 Aug '16, 04:11

Linux404's gravatar image

Linux404
32220
Akzeptiert: 62%

3

Das geht nicht ohne vorherige Verarbeitung mit einem externen Programm. Schau mal hier: https://tex.stackexchange.com/questions/52987/3-dimensional-histogram-in-pgfplots

(30 Aug '16, 04:26) Henri

Hier ist ein Vorschlag. pgfplots hat die Möglichkeit, in einem scatter plot Würfel zu zeichnen und man kann die Längen der Kanten ändern.

alt text

Öffne in Overleaf
\documentclass[tikz,border=3.14pt]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.15}
\begin{document}
\pgfplotstableread[col sep=comma,header=true]{%
x,y,color,myvalue
2,3,1,100
4,3,2,3
2,7,3,0.75
7,7,4,45
8,5,2,3
2,5,1,10
4,-4,2,1
4,1,3,75
5,-1,4,4
5,2,2,3
1,-2,1,10
2,5,2,5
3,-8,3,75
4,5,4,42
7,-2,2,2
}{\datatable}
%
\begin{tikzpicture}%[x={(0.866cm,-0.5cm)},y={(0.866cm,0.5cm)},z={(0cm,1 cm)}]
\pgfplotsset{set layers}
\begin{axis}[% from section 4.6.4 of the pgfplotsmanual
        view={120}{40},
        width=320pt,
        height=280pt,
        z buffer=sort,
        xmin=-1,xmax=8,
        ymin=-10,ymax=8,
        zmin=0,zmax=200,
        enlargelimits=upper,
        ztick={0,100,200},
        zticklabels={0,50,100}, % hier muss man etwas tricksen
        xtick=data,
        extra tick style={grid=major},
        ytick=data,
        grid=minor,
        xlabel={$x$},
        ylabel={$y$},
        zlabel={$z$},
        minor tick num=1,
        point meta=explicit,
        colormap name=viridis,
        scatter/use mapped color={
            draw=mapped color,fill=mapped color!70},
        ]
\addplot3 [visualization depends on={z \as \myz},
scatter/@pre marker code/.append style={/pgfplots/cube/size z=\myz},%
scatter,only marks,
mark=cube*,mark size=5,opacity=0.6]
 table[x expr={\thisrow{x}},y expr={\thisrow{y}},z
 expr={\thisrow{myvalue}},
 meta expr={\thisrow{color}}
        ] \datatable;
    \end{axis}
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 08 Apr, 00:50

Murmeltier's gravatar image

Murmeltier
85654

bearbeitet 08 Apr, 09:59

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×231
×39

Frage gestellt: 30 Aug '16, 04:11

Frage wurde angeschaut: 1,240 Mal

Zuletzt aktualisiert: 08 Apr, 09:59