我的测试数据不完整,如 MWE 所示。我想在绘图中使用所有(少数)可用数据点,即铜的(55.16, 0.08),但绘图未将其考虑在内。此外,逗号分隔符等全局选项不起作用(它仅适用于原生 y =0.5 y 刻度标签,而不适用于添加的 y 刻度标签。(但它们与手册中的一个绘图配合良好,因此问题出在我的数据和/或绘图选项上。我也无法在绘图中使用“仅标记”选项,这可能有意义。
\documentclass[]{scrartcl}
\usepackage{siunitx}
\usepackage{filecontents}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest,
every linear axis/.append style={
/pgf/number format/use comma,
/pgf/number format/fixed,
}}
\begin{document}
\begin{filecontents}{data-W.csv}
{Stress};{Aluminium};{Copper}
3.44;0.0015;0.001
6.89;0.1;0.002
10.34;0.2;
11.72; ;0.0068
13.79; ;
15.51;0.5;
17.24; ;
20.68;1;0.01
24.13; ;
27.58; ;
31.03; ;
34.47; ;
37.92; ;
41.37; ;0.04
44.82; ;
48.26; ;
55.16; ;0.08
\end{filecontents}
\pgfplotstableread[col sep=semicolon]{data-W.csv}{\datatableW}
\begin{tikzpicture}
\begin{axis}[
height=.5\textwidth, width=\textwidth,
xticklabel style= {font={\small}},
grid=both,
%xticklabels from table={\datatableW}{[index]0}, %does not accept plot settings
extra y ticks={.1,.3,.5,.7,.9}, % Did not accept global option but now does
%extra y tick labels={.1,.3,.5,.7,.9} % not necessary now
xlabel={Stress (\si{\mega\pascal})},
ylabel={Relaxation (\%)},
legend entries={Pure aluminium,Copper}, ]
\addplot [blue,only marks] table [
x index =0, y index=1] {\datatableW};
% x expr=\coordindex, x index =0,{\datatableW}; % Incorrect
\addplot [red,] table [
x index =0,
%x expr=\coordindex, x index =0, % incorrect
y index=2] {\datatableW};
\end{axis} \end{tikzpicture}
\end{document}
答案1
剧情选项中有几个错误(以及剧情总体设定中的矛盾)导致了这些问题。我编辑了代码来突出显示和纠正它们。我仍然不清楚为什么选项
xticklabels from table={\datatableW}{[index]0}
似乎不接受全局剧情设定,但是去掉它会让剧情变得更普通更好看,更符合逻辑。