我是 Latex 新手,想用 pgfplots 添加一些图表。我想制作音乐节奏图。因此 x 轴表示相应的节拍,y 轴表示 bpm 值。
我需要为每个节拍指定一个刻度,但不需要数字,因为数字会重叠。
我需要将 y 轴的值乘以 6,因为我需要其他值(bpm 不应该与整个 6/8 节拍相关,而只是八分音符相关。)(这些值位于单独的文件中。)
我想要一个 y 轴的固定值区域,例如从 150 到 300,以比较同一类型的不同图表。
(我只是无法提供一个可行的代码示例,但在我的文档中,图表编译得正确。附加部分显示了三个坐标列表,但我只需要前两个。)
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}%
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
height=5cm,
xlabel={$Taktzahl$},
ylabel={$Tempo~in~bpm$},
]
\addplot [black] table {Daten/0S.txt};
\end{axis}
\end{tikzpicture}
\caption{Tempodiagramm}
\end{figure}
\end{document}
单独文件的内容:
22 21.6346 17.1
23 25.8325 17.2
24 29.3521 17.3
25 28.6512 17.4
26 22.7039 18.1
27 18.4983 18.2
28 26.4515 18.3
29 34.6263 18.4
30 23.0456 19.1
31 33.7776 19.2
32 38.8204 19.3
33 43.3373 19.4
34 44.0296 20.1
35 41.6352 20.2
36 26.5024 20.3
37 28.5326 20.4
答案1
ymin=150
您的部分数据超出范围
\begin{filecontents}{data.txt}
22 21.6346 17.1
23 25.8325 17.2
24 29.3521 17.3
25 28.6512 17.4
26 22.7039 18.1
27 18.4983 18.2
28 26.4515 18.3
29 34.6263 18.4
30 23.0456 19.1
31 33.7776 19.2
32 38.8204 19.3
33 43.3373 19.4
34 44.0296 20.1
35 41.6352 20.2
36 26.5024 20.3
37 28.5326 20.4
\end{filecontents}
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\textwidth,
height=5cm,
xlabel={$Taktzahl$},
ylabel={$Tempo~in~bpm$},
xticklabels=\empty,
xtick distance=1,
ymin=150, ymax=300,
]
\addplot[black] table[y expr={6*\thisrowno{1}}] {data.txt};
\end{axis}
\end{tikzpicture}
\end{document}