
Como posso obter a vírgula como separador decimal nos eixos superiores (o número acima da grade principal)?
Todas as sugestões para melhorar o gráfico são calorosamente bem-vindas.
requisito básico
- usando dados .csv com flutuações (longas) e erros
- mostrando informações em pares agrupados (mesmo corpo de teste com diferentes configurações de fixação)
- com informações de erro (que às vezes são muito grandes)
- Não quero mostrar todos os valores de todas as barras, mas sim a média de cada grupo
Eu tentei e consegui isso, com o problema do separador decimal ser um gráfico de média pontual. (Também não quero que apareçam marcas ou qualquer outra coisa, e a etiqueta deve ser impressa em preto)
Eu peguei a configuração básica deManual para Pacote PGFSPLOTScapítulo 8.6 página 551.
coisas que eu tentei
Não quero alterar meu csv (usando ponto e vírgula como separador e usando vírgula para separação decimal). Estou usando sinuitx. Se houver uma opção de aplicar isso às metainformações, pode ser uma chance. Também tentei {} em torno dos dados do meu rótulo no .csv, mas isso não ajudou.
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}
O conteúdo de data.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
Responder1
Tentei coisas diferentes e cometi vários erros. Os dois seguintes são adicionais à solução importante
- Não use um arquivo onde apenas índice e meta estejam dentro
- Não use
\pgfplotstabletypeset
emtikzpicture
,Veja aqui
Uma solução simples para o meu problema é alterar o formato do arquivo paraespaço separadoe é isso. A opção explicit symbolic
já trata do resto para leitura correta do "novo" arquivo .dat...