这是我的情节:
我想添加与第一段直线(从 16:23 到 16:33)相对应的最佳拟合线。该线的方程为 y = 0.022x + 19.018。这是我的尝试
\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,amsfonts,systeme}
\usepackage{color}
\usepackage{array}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{arrows.meta}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot, statistics}
\usepackage{filecontents}
\begin{filecontents*}{ab.txt}
date, value
2019-04-17 16:23:56, 18.94
2019-04-17 16:24:01, 18.96
2019-04-17 16:24:06, 18.97
2019-04-17 16:24:11, 18.98
2019-04-17 16:24:16, 18.99
2019-04-17 16:24:21, 19
2019-04-17 16:24:26, 19.01
2019-04-17 16:24:31, 19.01
2019-04-17 16:24:36, 19.02
2019-04-17 16:24:41, 19.03
2019-04-17 16:24:46, 19.03
2019-04-17 16:24:51, 19.04
2019-04-17 16:24:56, 19.04
2019-04-17 16:25:02, 19.05
2019-04-17 16:25:07, 19.05
2019-04-17 16:25:11, 19.05
2019-04-17 16:25:16, 19.06
2019-04-17 16:25:21, 19.06
2019-04-17 16:25:27, 19.06
2019-04-17 16:25:32, 19.07
2019-04-17 16:25:37, 19.07
2019-04-17 16:25:42, 19.07
2019-04-17 16:25:46, 19.08
2019-04-17 16:25:52, 19.08
2019-04-17 16:25:57, 19.08
2019-04-17 16:26:02, 19.09
2019-04-17 16:26:07, 19.09
2019-04-17 16:26:12, 19.09
2019-04-17 16:26:17, 19.09
2019-04-17 16:26:22, 19.1
2019-04-17 16:26:27, 19.1
2019-04-17 16:26:32, 19.1
2019-04-17 16:26:37, 19.11
2019-04-17 16:26:42, 19.11
2019-04-17 16:26:47, 19.11
2019-04-17 16:26:52, 19.11
2019-04-17 16:26:57, 19.12
2019-04-17 16:27:02, 19.12
2019-04-17 16:27:07, 19.12
2019-04-17 16:27:12, 19.12
2019-04-17 16:27:17, 19.12
2019-04-17 16:27:22, 19.13
2019-04-17 16:27:27, 19.13
2019-04-17 16:27:32, 19.13
2019-04-17 16:27:37, 19.13
2019-04-17 16:27:42, 19.14
2019-04-17 16:27:47, 19.14
2019-04-17 16:27:52, 19.14
2019-04-17 16:27:57, 19.14
2019-04-17 16:28:02, 19.14
2019-04-17 16:28:07, 19.15
2019-04-17 16:28:12, 19.15
2019-04-17 16:28:17, 19.15
2019-04-17 16:28:22, 19.15
2019-04-17 16:28:27, 19.16
2019-04-17 16:28:32, 19.16
2019-04-17 16:28:37, 19.16
2019-04-17 16:28:42, 19.16
2019-04-17 16:28:47, 19.16
2019-04-17 16:28:52, 19.17
2019-04-17 16:28:57, 19.17
2019-04-17 16:29:02, 19.17
2019-04-17 16:29:07, 19.17
2019-04-17 16:29:12, 19.17
2019-04-17 16:29:17, 19.17
2019-04-17 16:29:22, 19.17
2019-04-17 16:29:27, 19.18
2019-04-17 16:29:32, 19.18
2019-04-17 16:29:37, 19.18
2019-04-17 16:29:42, 19.18
2019-04-17 16:29:47, 19.18
2019-04-17 16:29:52, 19.19
2019-04-17 16:29:57, 19.19
2019-04-17 16:30:02, 19.19
2019-04-17 16:30:07, 19.19
2019-04-17 16:30:12, 19.2
2019-04-17 16:30:17, 19.2
2019-04-17 16:30:22, 19.2
2019-04-17 16:30:27, 19.2
2019-04-17 16:30:32, 19.2
2019-04-17 16:30:37, 19.2
2019-04-17 16:30:42, 19.2
2019-04-17 16:30:47, 19.21
2019-04-17 16:30:52, 19.21
2019-04-17 16:30:57, 19.21
2019-04-17 16:31:02, 19.21
2019-04-17 16:31:07, 19.21
2019-04-17 16:31:12, 19.21
2019-04-17 16:31:17, 19.21
2019-04-17 16:31:22, 19.22
2019-04-17 16:31:27, 19.22
2019-04-17 16:31:32, 19.22
2019-04-17 16:31:37, 19.22
2019-04-17 16:31:42, 19.23
2019-04-17 16:31:47, 19.23
2019-04-17 16:31:52, 19.23
2019-04-17 16:31:57, 19.23
2019-04-17 16:32:02, 19.23
2019-04-17 16:32:07, 19.23
2019-04-17 16:32:12, 19.23
2019-04-17 16:32:17, 19.23
2019-04-17 16:32:22, 19.24
2019-04-17 16:32:27, 19.24
2019-04-17 16:32:32, 19.24
2019-04-17 16:32:37, 19.24
2019-04-17 16:32:42, 19.24
2019-04-17 16:32:47, 19.24
2019-04-17 16:32:52, 19.25
2019-04-17 16:32:57, 19.25
2019-04-17 16:33:02, 19.25
2019-04-17 16:33:07, 19.25
2019-04-17 16:33:12, 19.25
2019-04-17 16:33:17, 19.25
2019-04-17 16:33:22, 19.25
2019-04-17 16:33:27, 19.26
2019-04-17 16:33:32, 19.26
2019-04-17 16:33:37, 19.26
2019-04-17 16:33:42, 19.28
2019-04-17 16:33:47, 19.45
2019-04-17 16:33:52, 19.73
2019-04-17 16:33:58, 20.18
2019-04-17 16:34:02, 20.44
2019-04-17 16:34:07, 20.77
2019-04-17 16:34:15, 21.11
2019-04-17 16:34:17, 21.19
2019-04-17 16:34:22, 21.3
2019-04-17 16:34:27, 21.4
2019-04-17 16:34:32, 21.51
2019-04-17 16:34:37, 21.58
2019-04-17 16:34:42, 21.65
2019-04-17 16:34:47, 21.7
2019-04-17 16:34:52, 21.75
2019-04-17 16:34:57, 21.79
2019-04-17 16:35:02, 21.81
2019-04-17 16:35:07, 21.84
2019-04-17 16:35:12, 21.87
2019-04-17 16:35:17, 21.89
2019-04-17 16:35:22, 21.91
2019-04-17 16:35:27, 21.93
2019-04-17 16:35:32, 21.94
2019-04-17 16:35:38, 21.96
2019-04-17 16:35:42, 21.97
2019-04-17 16:35:47, 21.99
2019-04-17 16:35:52, 22
2019-04-17 16:35:58, 22.01
2019-04-17 16:36:03, 22.02
2019-04-17 16:36:08, 22.03
2019-04-17 16:36:13, 22.04
2019-04-17 16:36:17, 22.05
2019-04-17 16:36:23, 22.06
2019-04-17 16:36:28, 22.07
2019-04-17 16:36:33, 22.08
2019-04-17 16:36:38, 22.09
2019-04-17 16:36:43, 22.09
2019-04-17 16:36:48, 22.1
2019-04-17 16:36:53, 22.11
2019-04-17 16:36:58, 22.12
2019-04-17 16:37:03, 22.12
2019-04-17 16:37:08, 22.13
2019-04-17 16:37:13, 22.14
2019-04-17 16:37:18, 22.15
2019-04-17 16:37:23, 22.15
2019-04-17 16:37:28, 22.16
2019-04-17 16:37:33, 22.16
2019-04-17 16:37:38, 22.17
2019-04-17 16:37:43, 22.17
2019-04-17 16:37:48, 22.18
2019-04-17 16:37:53, 22.18
2019-04-17 16:37:58, 22.19
2019-04-17 16:38:03, 22.19
2019-04-17 16:38:08, 22.2
2019-04-17 16:38:13, 22.2
2019-04-17 16:38:18, 22.2
2019-04-17 16:38:23, 22.21
2019-04-17 16:38:28, 22.21
2019-04-17 16:38:33, 22.22
2019-04-17 16:38:38, 22.23
2019-04-17 16:38:43, 22.22
2019-04-17 16:38:48, 22.23
2019-04-17 16:38:53, 22.23
2019-04-17 16:38:58, 22.24
2019-04-17 16:39:03, 22.24
2019-04-17 16:39:08, 22.24
2019-04-17 16:39:13, 22.25
2019-04-17 16:39:18, 22.25
2019-04-17 16:39:23, 22.25
2019-04-17 16:39:28, 22.26
2019-04-17 16:39:33, 22.26
2019-04-17 16:39:41, 22.26
2019-04-17 16:39:43, 22.26
2019-04-17 16:39:48, 22.27
2019-04-17 16:39:53, 22.27
2019-04-17 16:39:58, 22.27
2019-04-17 16:40:03, 22.27
2019-04-17 16:40:08, 22.28
2019-04-17 16:40:13, 22.28
2019-04-17 16:40:18, 22.28
2019-04-17 16:40:23, 22.28
2019-04-17 16:40:28, 22.29
2019-04-17 16:40:33, 22.29
2019-04-17 16:40:38, 22.3
2019-04-17 16:40:43, 22.29
2019-04-17 16:40:48, 22.3
2019-04-17 16:40:53, 22.3
2019-04-17 16:40:58, 22.3
2019-04-17 16:41:03, 22.3
2019-04-17 16:41:08, 22.31
2019-04-17 16:41:13, 22.31
2019-04-17 16:41:18, 22.31
2019-04-17 16:41:23, 22.31
2019-04-17 16:41:28, 22.31
2019-04-17 16:41:33, 22.31
2019-04-17 16:41:38, 22.32
2019-04-17 16:41:43, 22.32
2019-04-17 16:41:48, 22.32
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=t/s,
ylabel=$\theta / \si{\celsius}$,
grid, grid style=dashed,
date coordinates in=x,
table/col sep=comma,
date ZERO=2019-04-17 16:23:56,
xticklabel=\hour:\minute,
xticklabel style={rotate=90, anchor=near xticklabel},
ymin=18,
ymax=23.5,
xmax=2019-04-17 16:43:56,
xtick={2019-04-17 16:25:56,2019-04-17 16:27:56,2019-04-17 16:29:56,2019-04-17 16:31:56,2019-04-17 16:33:56,2019-04-17 16:35:56,2019-04-17 16:37:56,
2019-04-17 16:39:56,2019-04-17 16:41:56},
extra x ticks={2019-04-17 16:23:56},
extra y ticks={18,18.5,19.5,20.5,21.5,22.5},
axis lines = middle,
set layers,
axis on top,
x label style={at={(1,0)},right},
y label style={at={(0,1)},above},
style={thick},
]
\addplot+[red,no markers,smooth] table[x=date,y=value] {ab.txt};
\addplot [yellow] table[x=date,y=value] {0.022*x + 19.018};
\end{axis}
\end{tikzpicture}
\end{document}
错误信息如下:
! 软件包 pgfplots 错误:无法读取“搜索路径=.”中的表格文件“0.022x + 19.018”。如果您打算提供内联数据:TeX 可能搞砸了您的行尾?尝试“row sep=crcr”并以“\”结束您的行(有关详细信息,请参阅 pgfplotstable 手册)。有关解释,请参阅 pgfplots 软件包文档。输入 H 可立即获得帮助.... ...table[x=date,y=value] {0.022x + 19.018};
你能帮助我吗?
先感谢您
答案1
我没有什么出色的解决方案,但可以得到你想要的。在 Octave 中运行一些数字后,我认为你给出的线性拟合表达式是以分钟为单位的。因此,你可以将和设置xmin
为xmax
特定值,并计算轴跨越的分钟数。之后,添加第二个axis
环境来绘制线条。这里将xmin=0
和设置xmax
为第一个轴覆盖的分钟数。请记住,执行此操作时,你需要将两个轴ymin
的 /设置ymax
为相同。用于hide axis
第二个轴,因为你只对情节线感兴趣。
\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot, statistics}
\usepackage{filecontents}
\begin{filecontents*}{ab.txt}
date, value
2019-04-17 16:23:56, 18.94
2019-04-17 16:24:01, 18.96
2019-04-17 16:24:06, 18.97
2019-04-17 16:24:11, 18.98
2019-04-17 16:24:16, 18.99
2019-04-17 16:24:21, 19
2019-04-17 16:24:26, 19.01
2019-04-17 16:24:31, 19.01
2019-04-17 16:24:36, 19.02
2019-04-17 16:24:41, 19.03
2019-04-17 16:24:46, 19.03
2019-04-17 16:24:51, 19.04
2019-04-17 16:24:56, 19.04
2019-04-17 16:25:02, 19.05
2019-04-17 16:25:07, 19.05
2019-04-17 16:25:11, 19.05
2019-04-17 16:25:16, 19.06
2019-04-17 16:25:21, 19.06
2019-04-17 16:25:27, 19.06
2019-04-17 16:25:32, 19.07
2019-04-17 16:25:37, 19.07
2019-04-17 16:25:42, 19.07
2019-04-17 16:25:46, 19.08
2019-04-17 16:25:52, 19.08
2019-04-17 16:25:57, 19.08
2019-04-17 16:26:02, 19.09
2019-04-17 16:26:07, 19.09
2019-04-17 16:26:12, 19.09
2019-04-17 16:26:17, 19.09
2019-04-17 16:26:22, 19.1
2019-04-17 16:26:27, 19.1
2019-04-17 16:26:32, 19.1
2019-04-17 16:26:37, 19.11
2019-04-17 16:26:42, 19.11
2019-04-17 16:26:47, 19.11
2019-04-17 16:26:52, 19.11
2019-04-17 16:26:57, 19.12
2019-04-17 16:27:02, 19.12
2019-04-17 16:27:07, 19.12
2019-04-17 16:27:12, 19.12
2019-04-17 16:27:17, 19.12
2019-04-17 16:27:22, 19.13
2019-04-17 16:27:27, 19.13
2019-04-17 16:27:32, 19.13
2019-04-17 16:27:37, 19.13
2019-04-17 16:27:42, 19.14
2019-04-17 16:27:47, 19.14
2019-04-17 16:27:52, 19.14
2019-04-17 16:27:57, 19.14
2019-04-17 16:28:02, 19.14
2019-04-17 16:28:07, 19.15
2019-04-17 16:28:12, 19.15
2019-04-17 16:28:17, 19.15
2019-04-17 16:28:22, 19.15
2019-04-17 16:28:27, 19.16
2019-04-17 16:28:32, 19.16
2019-04-17 16:28:37, 19.16
2019-04-17 16:28:42, 19.16
2019-04-17 16:28:47, 19.16
2019-04-17 16:28:52, 19.17
2019-04-17 16:28:57, 19.17
2019-04-17 16:29:02, 19.17
2019-04-17 16:29:07, 19.17
2019-04-17 16:29:12, 19.17
2019-04-17 16:29:17, 19.17
2019-04-17 16:29:22, 19.17
2019-04-17 16:29:27, 19.18
2019-04-17 16:29:32, 19.18
2019-04-17 16:29:37, 19.18
2019-04-17 16:29:42, 19.18
2019-04-17 16:29:47, 19.18
2019-04-17 16:29:52, 19.19
2019-04-17 16:29:57, 19.19
2019-04-17 16:30:02, 19.19
2019-04-17 16:30:07, 19.19
2019-04-17 16:30:12, 19.2
2019-04-17 16:30:17, 19.2
2019-04-17 16:30:22, 19.2
2019-04-17 16:30:27, 19.2
2019-04-17 16:30:32, 19.2
2019-04-17 16:30:37, 19.2
2019-04-17 16:30:42, 19.2
2019-04-17 16:30:47, 19.21
2019-04-17 16:30:52, 19.21
2019-04-17 16:30:57, 19.21
2019-04-17 16:31:02, 19.21
2019-04-17 16:31:07, 19.21
2019-04-17 16:31:12, 19.21
2019-04-17 16:31:17, 19.21
2019-04-17 16:31:22, 19.22
2019-04-17 16:31:27, 19.22
2019-04-17 16:31:32, 19.22
2019-04-17 16:31:37, 19.22
2019-04-17 16:31:42, 19.23
2019-04-17 16:31:47, 19.23
2019-04-17 16:31:52, 19.23
2019-04-17 16:31:57, 19.23
2019-04-17 16:32:02, 19.23
2019-04-17 16:32:07, 19.23
2019-04-17 16:32:12, 19.23
2019-04-17 16:32:17, 19.23
2019-04-17 16:32:22, 19.24
2019-04-17 16:32:27, 19.24
2019-04-17 16:32:32, 19.24
2019-04-17 16:32:37, 19.24
2019-04-17 16:32:42, 19.24
2019-04-17 16:32:47, 19.24
2019-04-17 16:32:52, 19.25
2019-04-17 16:32:57, 19.25
2019-04-17 16:33:02, 19.25
2019-04-17 16:33:07, 19.25
2019-04-17 16:33:12, 19.25
2019-04-17 16:33:17, 19.25
2019-04-17 16:33:22, 19.25
2019-04-17 16:33:27, 19.26
2019-04-17 16:33:32, 19.26
2019-04-17 16:33:37, 19.26
2019-04-17 16:33:42, 19.28
2019-04-17 16:33:47, 19.45
2019-04-17 16:33:52, 19.73
2019-04-17 16:33:58, 20.18
2019-04-17 16:34:02, 20.44
2019-04-17 16:34:07, 20.77
2019-04-17 16:34:15, 21.11
2019-04-17 16:34:17, 21.19
2019-04-17 16:34:22, 21.3
2019-04-17 16:34:27, 21.4
2019-04-17 16:34:32, 21.51
2019-04-17 16:34:37, 21.58
2019-04-17 16:34:42, 21.65
2019-04-17 16:34:47, 21.7
2019-04-17 16:34:52, 21.75
2019-04-17 16:34:57, 21.79
2019-04-17 16:35:02, 21.81
2019-04-17 16:35:07, 21.84
2019-04-17 16:35:12, 21.87
2019-04-17 16:35:17, 21.89
2019-04-17 16:35:22, 21.91
2019-04-17 16:35:27, 21.93
2019-04-17 16:35:32, 21.94
2019-04-17 16:35:38, 21.96
2019-04-17 16:35:42, 21.97
2019-04-17 16:35:47, 21.99
2019-04-17 16:35:52, 22
2019-04-17 16:35:58, 22.01
2019-04-17 16:36:03, 22.02
2019-04-17 16:36:08, 22.03
2019-04-17 16:36:13, 22.04
2019-04-17 16:36:17, 22.05
2019-04-17 16:36:23, 22.06
2019-04-17 16:36:28, 22.07
2019-04-17 16:36:33, 22.08
2019-04-17 16:36:38, 22.09
2019-04-17 16:36:43, 22.09
2019-04-17 16:36:48, 22.1
2019-04-17 16:36:53, 22.11
2019-04-17 16:36:58, 22.12
2019-04-17 16:37:03, 22.12
2019-04-17 16:37:08, 22.13
2019-04-17 16:37:13, 22.14
2019-04-17 16:37:18, 22.15
2019-04-17 16:37:23, 22.15
2019-04-17 16:37:28, 22.16
2019-04-17 16:37:33, 22.16
2019-04-17 16:37:38, 22.17
2019-04-17 16:37:43, 22.17
2019-04-17 16:37:48, 22.18
2019-04-17 16:37:53, 22.18
2019-04-17 16:37:58, 22.19
2019-04-17 16:38:03, 22.19
2019-04-17 16:38:08, 22.2
2019-04-17 16:38:13, 22.2
2019-04-17 16:38:18, 22.2
2019-04-17 16:38:23, 22.21
2019-04-17 16:38:28, 22.21
2019-04-17 16:38:33, 22.22
2019-04-17 16:38:38, 22.23
2019-04-17 16:38:43, 22.22
2019-04-17 16:38:48, 22.23
2019-04-17 16:38:53, 22.23
2019-04-17 16:38:58, 22.24
2019-04-17 16:39:03, 22.24
2019-04-17 16:39:08, 22.24
2019-04-17 16:39:13, 22.25
2019-04-17 16:39:18, 22.25
2019-04-17 16:39:23, 22.25
2019-04-17 16:39:28, 22.26
2019-04-17 16:39:33, 22.26
2019-04-17 16:39:41, 22.26
2019-04-17 16:39:43, 22.26
2019-04-17 16:39:48, 22.27
2019-04-17 16:39:53, 22.27
2019-04-17 16:39:58, 22.27
2019-04-17 16:40:03, 22.27
2019-04-17 16:40:08, 22.28
2019-04-17 16:40:13, 22.28
2019-04-17 16:40:18, 22.28
2019-04-17 16:40:23, 22.28
2019-04-17 16:40:28, 22.29
2019-04-17 16:40:33, 22.29
2019-04-17 16:40:38, 22.3
2019-04-17 16:40:43, 22.29
2019-04-17 16:40:48, 22.3
2019-04-17 16:40:53, 22.3
2019-04-17 16:40:58, 22.3
2019-04-17 16:41:03, 22.3
2019-04-17 16:41:08, 22.31
2019-04-17 16:41:13, 22.31
2019-04-17 16:41:18, 22.31
2019-04-17 16:41:23, 22.31
2019-04-17 16:41:28, 22.31
2019-04-17 16:41:33, 22.31
2019-04-17 16:41:38, 22.32
2019-04-17 16:41:43, 22.32
2019-04-17 16:41:48, 22.32
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
% set common options for the two axes, such as y-range
% if you want any scaling, do that here as well
\pgfplotsset{
ymin=18,
ymax=23.5
}
\begin{axis}[xlabel=t/s,
ylabel=$\theta / \si{\celsius}$,
grid, grid style=dashed,
date coordinates in=x,
table/col sep=comma,
date ZERO=2019-04-17 16:23:56,
xticklabel=\hour:\minute,
xticklabel style={rotate=90, anchor=near xticklabel},
xmin=2019-04-17 16:23, % <-- added
xmax=2019-04-17 16:42, % <-- edited => 19minutes range on axis
xtick={2019-04-17 16:25:56,2019-04-17 16:27:56,2019-04-17 16:29:56,2019-04-17 16:31:56,2019-04-17 16:33:56,2019-04-17 16:35:56,2019-04-17 16:37:56,
2019-04-17 16:39:56,2019-04-17 16:41:56},
extra x ticks={2019-04-17 16:23:56},
extra y ticks={18,18.5,19.5,20.5,21.5,22.5},
axis lines = middle,
set layers,
axis on top,
x label style={at={(1,0)},right},
y label style={at={(0,1)},above},
style={thick},
]
\addplot+[red,no markers,smooth] table[x=date,y=value] {ab.txt};
\end{axis}
\begin{axis}[
hide axis,
xmin=0,
xmax=19, % <-- 19 units range on this axis
domain=0:10, % plot line for first 10 minutes
samples=2
]
\addplot [dashed,black] {0.022*x + 19.018};
\end{axis}
\end{tikzpicture}
\end{document}