4

I'm using Kiviat Diagram to draw graphs, sample code for same is mentioned below:

\begin{center}
\psframebox*[fillcolor=white]{
\begin{pspicture}(-6,-5)(5,5)
\psset{unit=1.2}
\psKiviat[rotate=0.5,yLabels={Skill3, Skill2, Skill1,Skill9}, labelsep=10pt]{4}{3}
\psKiviatTicklines[Dx=0.5,linecolor=black!30]{4}{3}
\psKiviatAxes[linecolor=black!30]{4}{3}
\psKiviatLine[linewidth=1pt,linecolor=black,fillstyle=solid,opacity=0.5,fillcolor=green]{\pskillc, \pskillb, \pskilla, \pskillj}
\multido{\rA=0.5+0.5,\iA=20+20}{5}{\uput[3](0,\rA){\iA}}
\end{pspicture}
}
\end{center}

Output with three axis:

enter image description here

Output with Four axis:

enter image description here

Is there any better way to represent legend scale of 20,40,60,80,100? Is it possible to align scale to first axis?

  • 2
    Please provide a MWE! – Svend Tveskæg Oct 26 '13 at 13:07
  • 1
    Are you sure you want to use a Kiviat diagram? They suggest that their area covered means something, but for 4+ axes the area is dependant on the order in which you put them. – Tom Bombadil Oct 26 '13 at 14:00
  • Is there any good alternative to Kiviat Diagram? Number of axis for me varies from 2 to 10 [in future , it may go upto 20] – Pawan Mude Oct 26 '13 at 14:15
  • 1
    Basically, you want to represent n data points. Sounds like a regular bar plot. This can be done e.g. with pgfplots and the and the symbolic x coords option. – Tom Bombadil Oct 26 '13 at 17:01
1

While true Kiviat diagrams attribute meaning to the area enclosed, I've seen them used for many numbers of axes. So, appropriateness comments notwithstanding, here are a couple of possible solutions:

Using pstricks-add:

\documentclass{standalone}
\usepackage{pstricks-add} 

\begin{document} 
\begin{pspicture}(-6,-5)(5,5)
\psset{unit=1.2}
\psKiviat[rotate=0.5,yLabels={Skill3, Skill2, Skill1,Skill9}, labelsep=10pt]{4}{3}
\psKiviatTicklines[Dx=0.5,linecolor=black!30]{4}{3}
\psKiviatAxes[linecolor=black!30]{4}{3}
\psKiviatLine[linewidth=1pt,linecolor=black,fillstyle=solid,opacity=0.5,fillcolor=green]{1,0.5,2.5,2.5}
\multido{\rA=0.355+0.355,\iA=20+20}{5}{\uput[-110](\rA,\rA){\iA}}
\end{pspicture}
\end{document}

enter image description here

Using tkz-kiviat:

\documentclass{standalone}
\usepackage{tkz-kiviat} 
\usetikzlibrary{arrows}

\begin{document} 
\begin{tikzpicture}[rotate=45]
\tkzKiviatDiagram[
  radial  style/.style={gray!50,-,shorten >=0.5cm},
  radial=4,
  gap=1,
  lattice=5,
  label space=1
]{Skill3,Skill2,Skill1,Skill9}
\tkzKiviatLine[
  thick,
  color=black,
  mark=*,
  mark options={black,thin},
  fill=green!60,
  opacity=.5
](2,1,5,5)
\tkzKiviatGrad[unity=20](0)
\end{tikzpicture}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.