我正在使用半对数图绘制 tikz 中 csv 文件中的数据。这是 csv 文件:
col1,col2
20,33.45548100142213
40,33.45548098124385
70,33.11568704357836
100,32.77583220127542
320,3.0281711020398632e+01
这是 TeX 源代码:
\documentclass{article}
\usepackage{pgf, tikz}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.9}
\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis}
\addplot table[x=col1, y=col2, col sep=comma] {dat.csv};
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
给出的结果看起来像这样
但 xaxis 上显示的值实际上难以理解(例如 10^1.5)。有没有办法用“通常”值(10、10^2 等)来标记它?
编辑 : 例如,使用这些数据
col1,col2
8,33.77839299358055
10,33.45548098124431
12,33.144872130372164
15,32.70061685445444
100,26.00021051080506
结果很好:我们有10^i(和我一个整数)在轴上,我们有中间值的小线(我没有改变选项中的任何内容来addplot
获得这个结果,我只是采用了另一组数据)
答案1
\begin{filecontents}{dat.csv}
col1,col2
20,33.45548100142213
40,33.45548098124385
70,33.11568704357836
100,32.77583220127542
320,3.0281711020398632e+01
\end{filecontents}
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{semilogxaxis}[xmin=10, xmax=1000]
\addplot table[x=col1, y=col2, col sep=comma] {dat.csv};
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
使用\begin{semilogxaxis}[xtick=100]
创建没有“空洞”的图形