Zeichnung des Kano-Modells

Zeichnung des Kano-Modells

Ich habe mich gefragt, ob mir jemand den einfachsten Weg zeigen kann, das folgende Bild zu skizzieren. Ich habe angefangen, die Achsenumgebung aus dem pgfplots-Paket zu verwenden, wie Sie an meinem Code unten sehen können, aber dann bin ich nicht mehr weitergekommen.

Ich danke Ihnen im Voraus!

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}

\begin{axis}[axis lines=middle,axis equal,grid=both]
    \addplot coordinates{(0,0) (5,5) };
\end{axis}

\end{tikzpicture}
\end{document}

Kano-Modell

Antwort1

Ich glaube nicht, dass es notwendig ist, zu verwenden pgfplots. Ich denke, Sie können den gewünschten Effekt (und etwas einfacher) erzielen, wenn Sie nur verwenden tikz.

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}
\begin{document}

\begin{tikzpicture}
  \coordinate (Q) at (0,0);

  %% put this first even though you can use opacity. 
  \coordinate (indifferent/nw) at (-0.5in,0.5in);
  \fill[gray,opacity=0.20] (indifferent/nw) rectangle ++ (1in,-1in);
  \path (indifferent/nw) ++ (-0.5cm,0.5cm) node[anchor=south east] (indifferent/label) {indifference};
  \draw (indifferent/nw) -- (indifferent/label.base east);

  \draw[arrows=-Stealth,purple]
       (Q) ++ (-2in,0) node [anchor=east,align=center,text width=0.75in]
                            {Need not~fulfilled}
           -- 
           ++ (4in,0)  node [anchor=west,align=center,text width=0.75in]
                            {Need well~fulfilled};
  \draw[arrows=-Stealth,purple]
       (Q) ++ (0,-2in) node [anchor=north,align=center,text width=0.75in]
                            {dissatisfied}
           -- 
           ++ (0,4in)  node [anchor=south,align=center,text width=0.75in]
                            {satisfied};

  \draw[blue,text=blue] 
              (Q) ++ (-2in,-2in) 
                  -- 
                  ++ (4in,4in) node[pos=0.75,anchor=north west] {Performance};


  \draw[red,text=red] 
             (Q) ++ (-2in,0.25cm) .. controls (-0.5cm,0.25cm) and
                                              ( 0.5cm,1.00cm)
                                  ..            
                    (1.25in,2in)
                    node[pos=0.95,anchor=south east] {Excitement};


 \draw[red,text=red]
            (Q) ++ (-1.25in,-2in) .. controls (-0.5cm,-1.00cm) and
                                              ( 0.5cm,-0.45cm)
                                  ..
                   (2in,-0.5cm)
                   node[pos=0.80,anchor=north west] {Basic};


\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

Die Grundidee hier ist, dass \drawBefehle eigentlich eine Art Pfad sind und nodes entlang dieser Pfade definiert werden können. Insbesondere können wir die Position eines Knotens angeben, indem wir pos=<val>in dem optionalen Argument für den Knoten verwenden. Die Verankerung hilft, den Text relativ zu der Stelle zu platzieren, an der wir ihn haben möchten. text widthin Kombination mit alignhilft, die Beschriftungen entlang der x-Achse umzubrechen und zu zentrieren (ich habe früher ~und wellzusammengehalten fulfilled). Schließlich kann auch die Farbe des Textes mithilfe text=<color>der optionalen Argumente angegeben werden. Schließlich habe ich verwendet, .. controls (<coordinate>) and (<coordinate>) ..um die Kurven zu konstruieren. Mir fällt jetzt ein, dass ich hätte versuchen sollen, diese entlang der -Achse etwas asymptotischer zu machenLeistung, aber die Feinabstimmung überlasse ich Ihnen.

Antwort2

Für diese Art von halbtechnischer Skizze könnten Sie Folgendes in Betracht ziehen:Metapostals alternatives Werkzeug. Hier bin ich meiner bevorzugten Reihenfolge gefolgt, um alles schön organisiert zu halten: Definieren Sie die Pfade (so weit wie möglich relativ zueinander); zeichnen Sie sie; fügen Sie dann die Beschriftungen hinzu.

Bildbeschreibung hier eingeben

prologues := 3;
outputtemplate := "%j%c.eps";

beginfig(1);
% set a unit scale
u := 1cm;

% define the various paths 
path fulfillment, satisfaction, indifference, performance, excitement, basic;
indifference = unitsquare shifted -(1/2,1/2) scaled 2u;
fulfillment  = (left--right) scaled 3u;
satisfaction = fulfillment rotated 90;
performance  = (xpart point 0 of fulfillment, ypart point 0 of satisfaction) 
            -- (xpart point 1 of fulfillment, ypart point 1 of satisfaction);

excitement = point 0 of fulfillment shifted (0,1/3u) 
             {direction 0 of fulfillment} ..
             {direction 1 of performance}
             point 1 of performance shifted (-1/3u,0);

basic = excitement rotated 180;

% draw the paths
fill      indifference withcolor .9 white;
drawarrow fulfillment  withcolor .5 white;
drawarrow satisfaction withcolor .5 white;
draw      performance  withcolor .67 blue;
draw      excitement   withcolor .67 red;
draw      basic        withcolor .67 green;

% do the labels
verbatimtex
\font\ss=phvr8r\ss
\def\s#1{$\vcenter{\halign{\hfil{##}\hfil\cr#1\crcr}}$}\let\\\cr
etex

label(btex \s{satisfied} etex, point 1 of satisfaction shifted 10 up);
label(btex \s{dissatisfied} etex, point 0 of satisfaction shifted 10 down);

label(btex \s{needs not\\fulfilled}  etex, point 0 of fulfillment shifted 28 left);
label(btex \s{needs well\\fulfilled} etex, point 1 of fulfillment shifted 28 right);

z1 = point 3 of indifference shifted (-u/2,u/2); draw point 3 of indifference -- z1 withcolor .9 white;
label.lft(btex \s{indifference} etex, z1 + 3 up) withcolor .7 white;

label.ulft(btex \s{excitement}  etex, point .9 of excitement)  withcolor .67 red;
label.lrt (btex \s{performance} etex, point .8 of performance) withcolor .67 blue;
label.lrt (btex \s{basic}       etex, point .2 of basic)       withcolor .67 green;

endfig;
end.

Anmerkungen

  • Der obige Link zeigt Ihnen verschiedene Ansätze zur Integration von MP in Ihren Arbeitsablauf und enthält Links zu den Handbüchern.

  • Ich habe für alle Pfade ziemlich lange Namen verwendet, damit Sie leichter verfolgen können, was getan wird

  • Sie können den Maßstab der Zeichnung ändern, indem Sie den Wert uoben anpassen.

  • Gerade Wege bestehen nur aus einem Abschnitt, also point 0dem Anfang und point 1dem Ende.

  • Ich habe es satisfactionals eine um 90 Grad im Uhrzeigersinn gedrehte Kopie fulfillmentund basicals eine um 180 Grad gedrehte Kopie definiert excitement. Dadurch wird das Diagramm schön symmetrisch.

  • Ich habe einige sehr einfache TeX-Befehle definiert, mit denen ich die Beschriftungen sauber festlegen kann. Sie können auch LaTeX verwenden, wie im Handbuch erklärt. Tatsächlich können Sie mit dem gmpPaket oder mit luatexMP context-Code als Teil Ihrer LaTeX-Quelldatei einbinden, wie bei TikZ.

verwandte Informationen