您好,我是 LaTeX 和 stackexchange 的新手。我目前有以下代码:
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
xlabel={Trials},
ylabel=Moles ethanol burned,
legend pos=south east,
legend entries={Concrete},
]
\addplot table [x=trial,y=molburn] {procdata.txt};
\end{axis}
\end{tikzpicture}
\end{figure}
这很棒,但是我如何将其转换为条形图?
如果有帮助的话,我正在使用这些包:我正在使用以下包:
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}
\usepackage{amsmath}
\usepackage{siunitx}
Procdata.txt内容为:
trial changemass molburn qh2o enthalpy
1 -0.44 0.0095 1590 -167
2 -0.62 0.0135 816 -60
3 -0.61 0.0132 1590 -120
4 -0.60 0.0130 1109 -85
5 -0.62 0.0135 983 -73
谢谢!
答案1
您的问题的答案很简单:添加ybar
到轴的选项中。我发布答案的原因在很大程度上是为了向您提供一些有关在此处发布代码的首选方式的信息。
- 提供一个可编译的代码而不是片段。
- 避免加载代码不需要的包。
进行这些更改后,答案的代码是。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
% the following nice packages are not used in your code
% \usepackage{pgfplotstable}
% \usepackage{booktabs}
% \usepackage{array}
% \usepackage{colortbl}
% \usepackage{amsmath}
% \usepackage{siunitx}
\usepackage{filecontents}
\begin{filecontents*}{procdata.txt}
trial changemass molburn qh2o enthalpy
1 -0.44 0.0095 1590 -167
2 -0.62 0.0135 816 -60
3 -0.61 0.0132 1590 -120
4 -0.60 0.0130 1109 -85
5 -0.62 0.0135 983 -73
\end{filecontents*}
\begin{document}
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[ybar, % added
xlabel={Trials},
ylabel=Moles ethanol burned,
legend pos=south east]
\addplot [color=blue,fill=blue] table [x=trial,y=molburn] {procdata.txt};
\addlegendentry{Concrete}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
如今,不再需要写出“mole”。;-) 使用全新的 tikzlings 包,您可以做到
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{tikzlings}
\usepackage{filecontents}
\begin{filecontents*}{procdata.txt}
trial changemass molburn qh2o enthalpy
1 -0.44 0.0095 1590 -167
2 -0.62 0.0135 816 -60
3 -0.61 0.0132 1590 -120
4 -0.60 0.0130 1109 -85
5 -0.62 0.0135 983 -73
\end{filecontents*}
\begin{document}
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[ybar, % added
xlabel={Trials},
ylabel=Moles ethanol burned,
legend pos=south east]
\addplot [color=blue,fill=blue] table [x=trial,y=molburn] {procdata.txt};
\addlegendentry{Concrete}
\end{axis}
\moles[shift={(current axis.west)},xshift=-1cm,yshift=-3cm]
\end{tikzpicture}
\end{figure}
\end{document}