범위 상자 플롯의 점

범위 상자 플롯의 점

시각적으로 비슷한 테이블을 만들려고 합니다.WSJ 시장 페이지. 특히 Range 열에서 시각적 개체를 구현하는 간단한 방법이 있기를 바랍니다. wsjmarkets

이 작업을 수행하는 확립된 방법이 있다는 것이 그럴듯해 보이지만 내가 찾고 있는 것을 설명하는 방법을 모르겠습니다. 지금 생각할 수 있는 한 가지 옵션은 모든 것을 TikZ에서 만드는 것이지만 가능하다면 그러한 복잡성을 피하는 것이 좋습니다.

입력 값을 기준으로 범위 상자에 총알을 넣는 쉬운 방법이 있습니까?

답변1

이 같은?

\documentclass{article}
\usepackage{booktabs}
\usepackage{tikz}
\newcommand\Range[1]{%
  \begin{tikzpicture}[scale=0.2]
    \fill[gray!40](0,0) rectangle (8,1);
    \foreach \x in {2,4,6}\draw[white,very thick](\x,0)--+(0,1);
    \fill[black](0.4+#1/100*7.2,0.5) circle (0.4);
  \end{tikzpicture}
}
\begin{document}
\begin{tabular}{l}
  \toprule
  RANGE\\\midrule
  \Range{50}\\
  \Range{100}\\
  \Range{0}\\
  \Range{12}\\
  \Range{62}\\\bottomrule
\end{tabular}
\end{document}

여기에 이미지 설명을 입력하세요

답변2

또 다른 접근 방식.

\documentclass{elsarticle}
\usepackage{xcolor,stackengine}
\def\greybox{\textcolor{gray!50}{\rule{8pt}{1.2ex}}}
\def\backgrid{\greybox\kern1pt\greybox\kern1pt\greybox\kern1pt\greybox}
\setbox0=\hbox{\backgrid}
\edef\backgridwd{\the\wd0}
\newcommand\Range[1]{\stackengine{0pt}{\backgrid}{%
  \kern#1\dimexpr\backgridwd\makebox[0pt]{$\mkern.5mu\bullet$}}{O}{l}{F}{F}{L}}
\begin{document}
\begin{tabular}{c}
\hline
Range\\
\hline
  \Range{.50}\\
  \Range{1.00}\\
  \Range{0}\\
  \Range{.12}\\
  \Range{.62}
\\
\hline
\end{tabular}
\end{document}

여기에 이미지 설명을 입력하세요

답변3

나는 결국 sparklines패키지를 사용했습니다.

\documentclass{article}
\usepackage{sparklines,booktabs}

\begin{document}
\definecolor{sparkspikecolor}{gray}{1}
\setlength{\sparkspikewidth}{1pt}
\setlength{\sparkdotwidth}{2pt}
\newcommand{\rangebox}[1]{
    \begin{sparkline}{10}
    \sparkrectangle 0 1
    \sparkspike .25 1
    \sparkspike .5 1
    \sparkspike .75 1
    \sparkdot #1 0.5 black
    \end{sparkline}
}

\begin{tabular}{c}
  \toprule
  Range 
  \\\midrule
  \rangebox{.2}\\
  \rangebox{1}\\
  \rangebox{0}\\
  \rangebox{.8}\\
  \rangebox{.95}\\\bottomrule
\end{tabular}

\end{document}

스파크라인

관련 정보