ich habe mir mit tikzpicture eine Matrix erstellt (s.u.). Ich stelle eine 10x10 Matrix dar und möchte das auch so mit nodes belassen. Anstatt jeden Node einzeln anzugeben möchte ich sie einlesen, ebenfalls im Minimalbeispiel.
Allerdings ändert sich durch die Verwendung von axis meine Größeneinheit...In meiner .csv-Datei stehen (i,j,val) Werte, die automatisch in
\node at(i,j){val}
Mein Skalierungsproblem mit axis sieht wie folgt aus:
\documentclass[12pt,a4paper,oneside,listof=totoc,bibliography=totoc,BCOR=4mm,DIV=12,]{scrartcl} \usepackage{tikz} \usepackage{pgfplots} \begin{document} So sieht meine Matrix aus: \\[5mm] \begin{tikzpicture} \node at (0.2,0.2) {0};\node at (0.2,0.6) {1};\node at (0.2,1) {1};\node at (0.2,1.4) {1};\node at (0.2,1.8) {1};\node at (0.2,2.2) {1};\node at (0.2,2.6) {1};\node at (0.2,3) {0};\node at (0.2,3.4) {1};\node at (0.2,3.8) {1}; \node at (0.6,0.2) {1};\node at (0.6,0.6) {1};\node at (0.6,1) {1};\node at (0.6,1.4) {1};\node at (0.6,1.8) {1};\node at (0.6,2.2) {1};\node at (0.6,2.6) {1};\node at (0.6,3) {0};\node at (0.6,3.4) {1};\node at (0.6,3.8) {1}; \node at (1,0.2) {1};\node at (1,0.6) {1};\node at (1,1) {1};\node at (1,1.4) {1};\node at (1,1.8) {1};\node at (1,2.2) {1};\node at (1,2.6) {1};\node at (1,3) {1};\node at (1,3.4) {1};\node at (1,3.8) {1}; \node at (1.4,0.2) {1};\node at (1.4,0.6) {1};\node at (1.4,1) {1};\node at (1.4,1.4) {1};\node at (1.4,1.8) {1};\node at (1.4,2.2) {1};\node at (1.4,2.6) {1};\node at (1.4,3) {1};\node at (1.4,3.4) {1};\node at (1.4,3.8) {1}; \node at (1.8,0.2) {1};\node at (1.8,0.6) {0};\node at (1.8,1) {0};\node at (1.8,1.4) {1};\node at (1.8,1.8) {1};\node at (1.8,2.2) {1};\node at (1.8,2.6) {1};\node at (1.8,3) {1};\node at (1.8,3.4) {1};\node at (1.8,3.8) {1}; \node at (2.2,0.2) {1};\node at (2.2,0.6) {1};\node at (2.2,1) {1};\node at (2.2,1.4) {1};\node at (2.2,1.8) {1};\node at (2.2,2.2) {0};\node at (2.2,2.6) {1};\node at (2.2,3) {1};\node at (2.2,3.4) {1};\node at (2.2,3.8) {1}; \node at (2.6,0.2) {1};\node at (2.6,0.6) {1};\node at (2.6,1) {1};\node at (2.6,1.4) {1};\node at (2.6,1.8) {1};\node at (2.6,2.2) {0};\node at (2.6,2.6) {0};\node at (2.6,3) {1};\node at (2.6,3.4) {1};\node at (2.6,3.8) {1}; \node at (3,0.2) {1};\node at (3,0.6) {1};\node at (3,1) {1};\node at (3,1.4) {1};\node at (3,1.8) {1};\node at (3,2.2) {0};\node at (3,2.6) {1};\node at (3,3) {1};\node at (3,3.4) {1};\node at (3,3.8) {1}; \node at (3.4,0.2) {1};\node at (3.4,0.6) {1};\node at (3.4,1) {1};\node at (3.4,1.4) {1};\node at (3.4,1.8) {1};\node at (3.4,2.2) {0};\node at (3.4,2.6) {1};\node at (3.4,3) {1};\node at (3.4,3.4) {1};\node at (3.4,3.8) {0}; \node at (3.8,0.2) {1};\node at (3.8,0.6) {1};\node at (3.8,1) {1};\node at (3.8,1.4) {1};\node at (3.8,1.8) {1};\node at (3.8,2.2) {1};\node at (3.8,2.6) {1};\node at (3.8,3) {1};\node at (3.8,3.4) {0};\node at (3.8,3.8) {0}; \draw (0.1,0)--(0,0)--(0,4)--(0.1,4); \draw (3.9,0)--(4,0)--(4,4)--(3.9,4); \end{tikzpicture} So war mein Versuch sie einzulesen: \\[5mm] \begin{tikzpicture} \begin{axis}[ ticks=none, axis x line=none, axis y line=none, ybar, xtick=0, ymin=0, ymax =4, xmax = 4, xmin = 0, width = 4cm, height = 4cm, ] \addplot+[ only marks, visualization depends on=\thisrow{val} \as \val, nodes near coords=\pgfmathprintnumber{\val}, every node near coord/.append style={ black, inner sep=1pt, yshift=0ex } ] table [col sep=comma] {matrixData.csv}; \end{axis} \draw (0.1,0)--(0,0)--(0,4)--(0.1,4); \draw (3.9,0)--(4,0)--(4,4)--(3.9,4); \end{tikzpicture} \end{document}
PS: csv-Datei im Anhang