![为质量功能部署 (QFD) 创建质量屋 (HoQ) 又称产品规划矩阵 (PPM)](https://linux22.com/image/391557/%E4%B8%BA%E8%B4%A8%E9%87%8F%E5%8A%9F%E8%83%BD%E9%83%A8%E7%BD%B2%20(QFD)%20%E5%88%9B%E5%BB%BA%E8%B4%A8%E9%87%8F%E5%B1%8B%20(HoQ)%20%E5%8F%88%E7%A7%B0%E4%BA%A7%E5%93%81%E8%A7%84%E5%88%92%E7%9F%A9%E9%98%B5%20(PPM).png)
我要为我的其中一门课程制作质量屋图 (HoQ),但我不知道该怎么做。它应该用 LaTeX 完成,我和我的团队不知道该怎么做。
供您参考,下面是我们提供的 HoQ 示例:
有两个有问题的部分
顶部的三角形桌子
将所有表连接在一起
我们该如何做呢?
老师给了我们一个.pdf
示例文件,.tex
该示例的来源文件丢失了,他不是制作它的人,没有人知道是谁制作的,也不知道如何制作 HoQ。
我认为它是结合一个三角形的桌子在这篇文章中。我知道怎么做。问题是将它合并到另一张表中。
附言:我的第一语言是法语,所以如果我在写作时犯了一些错误,我很抱歉。
答案1
是吗可能的用 LaTeX 生成这个?是的。我是否相信 LaTeX 是最好的工具?不。这是一个存在证明。请原谅我,我不懂法语,也不擅长从屏幕截图中输入内容。我也在添加了足够多的三角形、圆形等后停止添加。
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amsfonts}
\usetikzlibrary{matrix,fit,calc}
\begin{document}
\begin{tikzpicture}[font=\sffamily,myfit/.style={fill=white,draw,line width=\mylinewidth,
inner sep=-0.5*\mylinewidth,fit=#1},
circ/.style={path picture={\draw circle (0.3em);}},
circdot/.style={path picture={\draw circle (0.3em);
\fill circle (0.1em);}},
trian/.style={path picture={\draw (-30:0.3em) -- (90:0.3em) -- (210:0.3em) --cycle ;}},
]
\def\mylinewidth{1pt}
\matrix[matrix of nodes, nodes={draw,line width=\mylinewidth,minimum width=1.6em,
minimum height=1.6em, anchor=center},column sep=-\mylinewidth,
,row sep=-\mylinewidth,%nodes in empty cells,
row 3/.style={nodes={rotate=90,minimum width=9em,minimum height=1.6em}},
row 11/.style={nodes={rotate=90,minimum width=9em,minimum height=1.6em}},
column 3/.style={nodes={align=left,text width=11em,}}](mat) {
& & & ~ & ~& ~ & ~& ~& ~& ~&~ \\
& & & ~ &~ & ~& ~ & ~ & ~ & ~ &~ \\
& & & choix du chapteur & I don't know & French so I just & add bla bla bla
& bla bla bla bla & bla bla bla bla & bla bla bla bla & bla bla bla bla \\
~ & ~& alimentation & |[circ]| ~ & ~& ~ & ~& ~& ~& ~&~ \\
~ & ~& alimentation & |[circ]| ~ & |[circdot]|~& ~ & ~& ~& ~& ~&~ \\
~ & ~& alimentation & |[circ]| ~ & ~& |[circdot]|~ & ~& ~& ~& ~&~ \\
~ & ~& alimentation & |[circ]| ~ & ~& ~ & |[circdot]|~& ~& ~& ~&~ \\
~ & ~& alimentation & |[trian]| ~ & ~& ~ & ~& ~& ~& ~&~ \\
~ & ~& alimentation & |[circ]| ~ & |[circ]|~& |[trian]|~ & |[trian]|~& |[circdot]|~& |[trian]|~& ~&~ \\
~ & ~& alimentation & ~ & ~& ~ & ~& ~& ~& ~&~ \\
& & & choix du chapteur & I don't know & French so I just & add bla bla bla
& bla bla bla bla & bla bla bla bla & bla bla bla bla & bla bla bla bla \\
};
\node[myfit=(mat-1-4) (mat-1-11)] {thermometre};
\node[myfit=(mat-2-4) (mat-2-7)] {capteur};
\node[myfit=(mat-2-8) (mat-2-9)] {etal};
\node[myfit=(mat-10-1) (mat-4-1)] (aux1){};
\node[rotate=90] at (aux1){mesure};
\node[myfit=(mat-7-2) (mat-4-2)] (aux2){};
\node[rotate=90] at (aux2){senseur};
\node[myfit=(mat-9-2) (mat-8-2)] (aux3){};
\node[rotate=90] at (aux3){conv.};
\node[rotate=90] at (mat-10-2) {aff};
% etc.
\foreach \X in {4,...,11}
{\draw[line width=\mylinewidth] (mat-1-\X.north west)
-- (intersection cs:first line={(mat-1-\X.north west)--($(mat-1-\X.north west)+(45:5)$)},
second line={(mat-1-11.north east)--($(mat-1-11.north east)+(135:5)$)});
\draw[line width=\mylinewidth] (mat-1-\X.north east)
-- (intersection cs:first line={(mat-1-\X.north east)--($(mat-1-\X.north east)+(135:5)$)},
second line={(mat-1-4.north west)--($(mat-1-4.north west)+(45:5)$)});
}
\begin{scope}[shift={(mat-1-4.north west)},
x={(45:{sqrt(1/2)*1.6em})},y={(-45:{sqrt(1/2)*1.6em})}
] % define local coordinate system for easier access of the cells
\begin{scope}[shift={(0.6,-0.5)}]
\foreach \Coord in {(1,1),(2,1),(3,1),(7,1),%
(5,2),(4,3),(4,4),(5,5),(7,7)}
{\node at \Coord {\checkmark};}
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}