有人能帮我把图表中的字体缩小到\small
吗\scripsize
?我该如何删除10^0
并将其替换为1
。这是对数轴吗?谢谢
我的代码如下。我通过添加 找到了问题第一部分的解决方案font=\scriptsize
,但我不知道如何用10^0
替换1
。
\begin{center}
\begin{tikzpicture}[scale=1.6]
\begin{axis}[font=\scriptsize,
legend entries={Tamisats,Volume},
legend style={at={(0.03,0.97)},
anchor=north west},
legend plot pos=right,
grid=major,
xmode=log,
xlabel near ticks,
ylabel near ticks,
axis y line*=left,
xlabel={Tamis $(\mu m)$},
ylabel={Tamisats $(\%)$}]
\addplot [mark=x,red,thick] table[x index=0,y index=1]{Classeur1.txt};
\end{axis}
%le second graph
\begin{axis}[font=\scriptsize,
legend entries={Volume},
legend style={at={(0.03,0.86)},
anchor=north west},
legend plot pos=right,
xmode=log,
ylabel near ticks,
axis y line*=right,
ylabel={\rotatebox{-180}{Volumes $(\%)$}}]
\addplot [blue!80!black,fill=blue,fill opacity=0.2] table[x index=0,y index=2]{Classeur1.txt};
\end{axis}
\end{tikzpicture}
\end{center}
答案1
很高兴您找到了第一部分的答案。但不要传递font=\scriptsize
给 的选项,而axis
要为 执行tikzpicture
。此外,不要使用scale=1.6
,width=\linewidth
而是在 的选项中使用 (或任何宽度) axis
。
现在要更改标签,1
您可以定义
xtick={1,10,100,1000},
xticklabels={,$10^1$,$10^2$,$10^3$},
这样就10^0
不会打印第一个条目。现在使用以下命令打印它:
extra x ticks={1},
extra x tick labels={1},
现在您不需要xtick
第二个轴的 s,因此xtick=\empty
在那里使用。
另外,要使两个 y 轴水平,可以使用ymin=-0.1
。有了这些,代码将是
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}[font=\scriptsize]%[scale=1.6]
\begin{axis}[width=\linewidth,
legend entries={Tamisats,Volume},
legend style={at={(0.03,0.97)},
anchor=north west},
legend plot pos=right,
grid=major,
xmode=log,
xtick={1,10,100,1000},
xticklabels={,$10^1$,$10^2$,$10^3$},
extra x ticks={1},
extra x tick labels={1},
xlabel near ticks,
ylabel near ticks,
axis y line*=left,
ymin=-0.1,
xlabel={Tamis $(\mu m)$},
ylabel={Tamisats $(\%)$}]
\addplot [mark=x,red,thick,domain=1:1000] {rnd};%table[x index=0,y index=1]{Classeur1.txt};
\end{axis}
%le second graph
\begin{axis}[width=\linewidth,
legend entries={Volume},
legend style={at={(0.03,0.86)},
anchor=north west},
legend plot pos=right,
xmode=log,
xtick=\empty,
ymin=-0.1,
ylabel near ticks,
axis y line*=right,
ylabel={\rotatebox{-180}{Volumes $(\%)$}}]
\addplot [blue!80!black,fill=blue,fill opacity=0.2,domain=1:1000] {rnd}; % table[x index=0,y index=2]{Classeur1.txt};
\end{axis}
\end{tikzpicture}
\end{document}
忽略domain=1:1000
,它仅用于演示,因为我没有您的数据文件。另外,请更正 行,\addplot
因为table
我已针对演示对其进行了修改。