如何让我丑陋的图表看起来美观?

如何让我丑陋的图表看起来美观?

我使用 LaTex 已经 2 周了,所以请原谅我的菜鸟身份 :)

我的物理实验室中有一些需要绘制的数据,这些数据保存在一个名为 的制表符分隔文本文件中current-force.txt。我使用 绘制了数据图表pgfplots。以下是文件内容:

current force
0.00    0.00
0.50    1.28E-03
1.00    2.75E-03
1.50    4.02E-03
2.00    5.40E-03
2.50    6.67E-03
3.00    8.04E-03
3.50    9.42E-03
4.00    1.07E-02

以下是我的 LaTex 文档示例:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{siunitx}
\usepackage{float}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{amstext}

\begin{document}
    \begin{figure}[H]
        \centering
    \begin{tikzpicture}

        \begin{axis}[
            title={Magnetic Force as a function of Applied Current},
            xlabel=$I$ (\si{\A}),
            ylabel=$\vec{F}_{\text{m}}$ (\si{\N}),
            minor x tick num=1,
            grid=both,
            ]

            \addplot[red, mark=*] table[col sep=tab]{current-force.txt};
        \end{axis}

    \end{tikzpicture}
    \end{figure}
\end{document}

我在 x 轴上添加了网格和小刻度,但我不知道怎样才能让这个图表看起来更美观。我还发现 y 轴乘数的定位非常丑陋,你们会如何处理这个问题?

排版之后的图表是这样的:

在此处输入图片描述

答案1

以下是我想改变的一些观点,其他人可能不同意。

  • 我更喜欢把蜱虫放在外面。
  • 我讨厌网格。在实体出版物中很少见到它们。
  • 我会简单地使用 mN 作为力的单位。
  • x 轴范围不应大于数据范围。
  • 图注使得标题变得多余

我会这样做。

截屏

和代码

\documentclass{article}
\usepackage{pgfplots}
\usepackage{siunitx}
\usepackage{float}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{amstext}
\usepackage{filecontents}
\pgfplotsset{compat=newest}

\begin{filecontents}{current-force.txt}
current force
0.00    0.00
0.50    1.28E-03
1.00    2.75E-03
1.50    4.02E-03
2.00    5.40E-03
2.50    6.67E-03
3.00    8.04E-03
3.50    9.42E-03
4.00    1.07E-02
\end{filecontents}

\pgfplotsset{
    physics/.style = {
        minor x tick num=1,
        xtick pos=left,
        ytick pos=left,
        enlarge x limits=false,
        every x tick/.style={color=black, thin},
        every y tick/.style={color=black, thin},
        tick align=outside,
        xlabel near ticks,
        ylabel near ticks,
        axis on top,        
    }
}

%
% Dirty hack from Koji
% see http://tex.stackexchange.com/a/91645/3061
%
\makeatletter
\def\pgfplots@drawticklines@INSTALLCLIP@onorientedsurf#1{}%
%\def\pgfplots@drawgridlines@INSTALLCLIP@onorientedsurf#1{}%
\makeatother

\begin{document}
    \begin{figure}[H]
        \centering
    \begin{tikzpicture}
        \begin{axis}[
            physics,
            xlabel=$I$ (\si{\ampere}),
            ylabel=$F_{\text{m}}$ (\si{\milli\newton}),
            ymin = 0,
            y filter/.code={
                \pgfmathmultiply{\pgfmathresult}{1E3}
            }
           ]
            \addplot[red, mark=*] table {current-force.txt};
        \end{axis}
    \end{tikzpicture}
    \caption{Magnetic force as a function of the applied current.}
    \end{figure}
\end{document}

答案2

如何删除轴乘数?有关如何删除乘数以及如何更改数字格式的信息。对于您的情况,我建议以 为单位测量力\si{\milli\N}

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{siunitx}
\usepackage{tikz}
\usepackage{filecontents}

\pgfplotsset{compat=1.11}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            title={Magnetic Force as a function of Applied Current},
            xlabel=$I$ (\si{\A}),
            ylabel=$\vec{F}_{\text{m}}$ (\si{\milli\N}),
            minor x tick num=1,
            grid=both,
            ]
            \addplot[red, mark=*] table[col sep=tab]{current-force.txt};
        \end{axis}
    \end{tikzpicture}
\end{document}

完成的图表

相关内容