从不同的 Excel 文件绘制 3D 图形

从不同的 Excel 文件绘制 3D 图形

我有几个 Excel 文件 (.csv),它们的构建方式如下:

Instruction Averange ddv 500 6717.10 300 600 7572.30 300 [...]

因此,基本上每个 Excel 文件中的“指令”列都是相同的。“依赖度(又名 ddv)”以 50 步为单位从 0 到 500。我现在想绘制一个如下所示的 3d 图:

enter image description here

这是一张非常类似问题但我无法调整他们的解决方案来处理我的问题。到目前为止我得到的代码如下:

\begin{tikzpicture}
\begin{axis}[
xlabel={Instructioncount},
ylabel={Degree of Dependence},
zlabel={Lines of Code},
]
\addplot3 [surf] table[x = Instruction, y = ddv, z = Average, col sep = semicolon] {Compiler_Benchmarks/CodeLengthAfterCompiling_350.csv};
\addplot3 [surf] table[x = Instruction, y = ddv, z = Average, col sep = semicolon] {Compiler_Benchmarks/CodeLengthAfterCompiling_300.csv};
\end{axis}
\end{tikzpicture}

其结果是: enter image description here

基本上“我想要的”是让 latex 合并一个区域中的两条独立线条,而不仅仅是两条独立的线条。我添加了两个示例 Excel 文件: Excel 文件 基本上我只是想要 tex 在两条线之间绘制一个连续的区域,以使其看起来像一个区域。

答案1

您需要将两个表合并为一个新表,并对其进行排序。我还更改了视图,我个人还想旋转轴标签,但这取决于您。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots,pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\pgfplotstableset{col sep=semicolon} % from https://tex.stackexchange.com/a/188492/121799
\pgfplotstablevertcat{\output}{Compiler_Benchmarks/CodeLengthAfterCompiling_350.csv} % loads `CodeLengthAfterCompiling_350.csv' -> `\output'
\pgfplotstablegetrowsof{\output}
\pgfmathtruncatemacro{\numrows}{\pgfplotsretval} % finds number of columns
\pgfplotstablevertcat{\output}{Compiler_Benchmarks/CodeLengthAfterCompiling_300.csv}% appends the entries of CodeLengthAfterCompiling_300.csv to output
\pgfplotstablesort{\sorted}{\output} % sorts the entries
\begin{tikzpicture}
\begin{axis}[view={-35}{35},
xlabel={Instructioncount},
ylabel={Degree of Dependence},
zlabel={Lines of Code},
xlabel style={sloped like x axis},
ylabel style={sloped},
]
\addplot3 [surf,mesh/rows=\numrows,shader=faceted, faceted color = none] table[x = Instruction, y = ddv, z = Average, col sep =
semicolon] \sorted;
\end{axis}
\end{tikzpicture}
\end{document}

enter image description here

相关内容