
¿Cómo puedo obtener una coma como separador decimal en mis ejes superiores (el número sobre la cuadrícula principal)?
Todas las sugerencias para mejorar el gráfico son bienvenidas.
requisito básico
- usando datos .csv con flotadores (largos) y errores
- mostrando información en pares agrupados (mismo cuerpo de prueba con diferentes configuraciones de sujeción)
- con información de error (que a veces son bastante grandes)
- No quiero mostrar todos los valores de cada barra, sino la media de cada grupo.
Lo intenté y obtuve esto, con el problema de que el separador decimal es un gráfico de media puntual. (Además, no quiero que aparezcan marcas ni ninguna otra cosa, y la etiqueta debe estar impresa en negro)
Obtuve la configuración básica deManual del paquete PGFSPLOTScapítulo 8.6 página 551.
cosas que probé
No quiero cambiar mi csv (usando punto y coma como separador y usando la coma para separación decimal) estoy usando sinuitx. Si hay una opción para aplicar esto a la metainformación, podría ser una oportunidad. También probé {} con los datos de mi etiqueta en el .csv, pero eso no ayudó.
Código LaTeX:
% !TeX encoding = UTF-8
\documentclass[11pt, border=5pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{pgfplotstable}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
/pgf/number format/.cd,
use comma,
height = 7cm,
width = 8.5cm,
ymajorgrids,
ylabel={The mighty Force in \si{\newton}},
xlabel={A strong Opponent},
ymin = 0,
ymax= 1.75,
ybar=0pt,
bar width=12pt,
enlarge x limits = 0.3,
nodes near coords,
point meta=explicit symbolic,
scatter/position=absolute,
every node near coord/.style={
at={(\pgfkeysvalueof{/data point/x},1.8)},
anchor=south,
},
bar shift=0pt,
xtick={0,1,2},
xticklabels={metal,wood,paper},
x tick label style={rotate=45,anchor=east},
]
\addplot+[bar shift = -12pt]
plot [error bars/.cd, y dir=both, y explicit]
table [x=ID, y=A, y error=Aun, col sep=comma] {data.csv};
\addplot+[bar shift = +12pt]
plot [error bars/.cd, y dir=both, y explicit]
table [x=ID, y=B, y error=Bun, col sep=comma] {data.csv}; % Läd die Daten aus der CSV Datei
\addplot
plot [error bars/.cd, y dir=both, y explicit]
table [x=ID, y=C, y error=Cun, col sep=comma] {data.csv}; % Läd die Daten aus der CSV Datei
\addplot[only marks]
plot table [x=ID, col sep=comma, meta=label] {data.csv}; % Läd die Daten aus der CSV Datei
\end{axis}
\end{tikzpicture}
\end{document}
El contenido de datos.csv:
ID,A,Aun,B,Bun,C,Cun,label
0,0.2,0.05,0.3,0.025,0.1,0.03,0.2
1,0.6,0.05,0.4,0.07,0.8,0.045,0.6
2,1.1,0.1,1.3,0.02,1.5,0.06,1.3
Respuesta1
Probé diferentes cosas y, por lo tanto, cometí múltiples errores. Los siguientes dos son además de la solución importante.
- No utilice un archivo donde solo haya índice y meta dentro
- No utilizar
\pgfplotstabletypeset
entikzpicture
,mira aquí
Una solución funcional simple para mi problema es cambiar el formato del archivo aespacio separadoy eso es. La opción explicit symbolic
ya se encarga del resto para leer correctamente el "nuevo" archivo .dat...