4

Figure is Boggiatto et al. 2010 picture which I would like to reproduce in LaTeX but I cannot do plot

  • a circle
  • a square
  • an intesection of square and circle
  • put density to the square

enter image description here

TeXLive: 2016

1
  • I would look for Tikz: \draw [thick] (2,2) circle (3cm); to produce the circle...
    – hhh
    Commented Nov 23, 2016 at 19:50

2 Answers 2

9

I changed it little bit, like the background with color instead of dotted, but the exact same illustration can be done in Tikz. My illustration is below.

enter image description here

Tikz

\documentclass{article}
\usepackage{graphicx}  
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\draw [thick] (2,2) circle (3cm);
\draw (-2,-2) rectangle (6,6);
\draw (0,5.5) node{Cohen class: $\sigma * Wig$};
\draw [opacity=0.4,fill=black!15,rounded corners=2ex] (-1.9,-1.9) rectangle (5.9,2);

\draw (1,-1.6) node{Generalised spectograms: $Sp_{\phi,\psi}$};


\draw (2,2.5) node[circle,fill,inner sep=1pt,label=below:{$Q=\int_{[0,1]}Wig_{\tau} d\tau$}]{};
\draw (2,-1) node[circle,fill,inner sep=1pt,label=right:{$Sp_{\phi}$(classical spectogram)}]{};
\draw (2,5) node[circle,fill,inner sep=1pt,label=right:{$Wig_{1/2}=Wig$ (Wigner)}]{};
\draw (-0.6,3.5) node[circle,fill,inner sep=1pt,label=left:{$Wig_{\tau}$ ($\tau$-Wigner)}]{};

\draw (5,2) node[circle,fill,inner sep=1pt,label=above right:{$Wig_1=Sp_{1,\delta}=R^*$}]{};
\draw (5,1.5) node[circle,fill,inner sep=0pt,label=above right:{(conjugate-Rihaczek)}]{};

\draw (-1,2) node[circle,fill,inner sep=1pt,label=above left:{$Wig_0=Sp_{\delta,1}=R$}]{};
\draw (-1,1.5) node[circle,fill,inner sep=0pt,label=above left:{(Rihaczek)}]{};

\end{tikzpicture}

\end{document}

Related

  1. I cannot understand why the linebreaking does not work with \\ in the Tikz-draw labels: How to introduce a line break in a TikZ node label? It should by this, \draw (5,2) node[circle,fill,inner sep=1pt,label=above right:{$Wig_1=Sp_{1,\delta}=R^*$\\(conjugate-Rihaczek)}]{};, why the linebreaking not working?

For custom background such as dots or fivepointed stars

Use the \usetikzlibrary{patterns} package for the custom background such as stars or dots like the below, other directives here.

enter image description here

\documentclass{article}
\usepackage{graphicx}  
\usepackage{tikz}
\usetikzlibrary{patterns}

\begin{document}

\begin{tikzpicture}
\draw [thick] (2,2) circle (3cm);
\draw (-2,-2) rectangle (6,6);
\draw (0,5.5) node{Cohen class: $\sigma * Wig$};
\draw [opacity=0.4,fill=black!15,pattern=dots,rounded corners=2ex] (-1.9,-1.9) rectangle (5.9,2);

\draw (1,-1.6) node{Generalised spectograms: $Sp_{\phi,\psi}$};


\draw (2,2.5) node[circle,fill,inner sep=1pt,label=below:{$Q=\int_{[0,1]}Wig_{\tau} d\tau$}]{};
\draw (2,-1) node[circle,fill,inner sep=1pt,label=right:{$Sp_{\phi}$(classical spectogram)}]{};
\draw (2,5) node[circle,fill,inner sep=1pt,label=right:{$Wig_{1/2}=Wig$ (Wigner)}]{};
\draw (-0.6,3.5) node[circle,fill,inner sep=1pt,label=left:{$Wig_{\tau}$ ($\tau$-Wigner)}]{};

\draw (5,2) node[circle,fill,inner sep=1pt,label=above right:{$Wig_1=Sp_{1,\delta}=R^*$}]{};
\draw (5,1.5) node[circle,fill,inner sep=0pt,label=above right:{(conjugate-Rihaczek)}]{};

\draw (-1,2) node[circle,fill,inner sep=1pt,label=above left:{$Wig_0=Sp_{\delta,1}=R$}]{};
\draw (-1,1.5) node[circle,fill,inner sep=0pt,label=above left:{(Rihaczek)}]{};

\end{tikzpicture}

\end{document}

enter image description here

and here more like the original

\usepackage{tikz}
\usetikzlibrary{patterns}

\begin{document}

\begin{tikzpicture}
\draw [thick] (2,2) circle (3cm);
\draw (-2,-2) rectangle (6,6);
\draw (0,5.5) node{Cohen class: $\sigma * Wig$};
\draw [opacity=0.4,fill=black!15,pattern=dots] (-1.9,-1.9) rectangle (5.9,2);

\draw (1,-1.6) node{Generalised spectograms: $Sp_{\phi,\psi}$};


\draw (2,2.5) node[circle,fill,inner sep=1pt,label=below:{$Q=\int_{[0,1]}Wig_{\tau} d\tau$}]{};
\draw (2,-1) node[circle,fill,inner sep=1pt,label=right:{$Sp_{\phi}$(classical spectogram)}]{};
\draw (2,5) node[circle,fill,inner sep=1pt,label=right:{$Wig_{1/2}=Wig$ (Wigner)}]{};
\draw (-0.6,3.5) node[circle,fill,inner sep=1pt,label=left:{$Wig_{\tau}$ ($\tau$-Wigner)}]{};

\draw (5,2) node[circle,fill,inner sep=1pt,label=above right:{$Wig_1=Sp_{1,\delta}=R^*$}]{};
\draw (5,1.5) node[circle,fill,inner sep=0pt,label=above right:{(conjugate-Rihaczek)}]{};

\draw (-1,2) node[circle,fill,inner sep=1pt,label=above left:{$Wig_0=Sp_{\delta,1}=R$}]{};
\draw (-1,1.5) node[circle,fill,inner sep=0pt,label=above left:{(Rihaczek)}]{};

\end{tikzpicture}

\end{document}

enter image description here

1
  • 2
    @Masi see the newest update, is this what you wanted? The patterns package used for the dots.
    – hhh
    Commented Nov 24, 2016 at 0:02
5

Here is a pstricks solution, which requires the following code, stolen from the pstricks pages on the TUG site, which defines new fill styles:

% D.G. addition begin - Sep. 1, 2002
% To define dashed and dotted hatched styles
\ProvidesPackage{pst-hatch}%% Added B.  A.  Nov.  23, 2016
\RequirePackage{pstricks}%% added
\def\pshs@solid{0 setlinecap }
\def\pshs@dashed{[ \psk@dash ] 0 setdash }
\def\pshs@dotted{[ 0 \psk@dotsep CLW add ] 0 setdash 1 setlinecap }
\def\psset@hatchstyle#1{%
\@ifundefined{pshs@#1}%
{\@pstrickserr{Hatch style `#1' not defined}\@eha}%
{\edef\pshatchstyle{#1}}}

\psset@hatchstyle{solid}

\def\pst@linefill{%
% D.G. modification begin - Sep. 1, 2002
\@nameuse{pshs@\pshatchstyle}
% D.G. modification end
\psk@hatchangle rotate
\psk@hatchwidth SLW
\pst@usecolor\pshatchcolor
\psk@hatchsep
\tx@LineFill}

\pst@def{LineFill}<{%
gsave
  abs CLW add
  /a ED
  a 0 dtransform
  round exch round exch 2 copy idtransform
  exch Atan rotate idtransform
  pop
  /a ED
  .25 .25 itransform
  pathbbox
  /y2 ED
  a Div ceiling cvi
  /x2 ED
  /y1 ED
  a Div cvi
  /x1 ED
  /y2 y2 y1 sub def
  clip
  newpath
% D.G. modification begin - Sep. 1, 2002
% 2 setlinecap
% D.G. modification end
  systemdict
  /setstrokeadjust
    known { true setstrokeadjust } if
    x2 x1 sub 1 add
    { x1 a mul y1 moveto
      0 y2 rlineto
      stroke
      /x1 x1 1 add def } repeat
  grestore
pop pop}>

The pstricks code for the figure:

\documentclass[border=12pt]{standalone}
\usepackage{amsmath} %
\DeclareMathOperator\Wig{\mathit{Wig}}
\DeclareMathOperator\Sp{\textit{Sp}}

\usepackage{pstricks-add, pst-hatch, auto-pst-pdf}%

\begin{document}

\small
\psset{linejoin=1, unit =3cm }
\begin{pspicture}[PointSymbol=none](-2,-2)(2,2)
    \psframe(-1.65,-1.6)(1.65,1.6)
    \psframe[fillstyle=vlines, hatchstyle=dotted](-1.55,-1.55)(1.55,0)
    \pscircle(0,0){1}
    \dotnodes(1; 0){A}(1; 90){B}(1; 135){C}(1; 180){D}(1; 270){E}(0.25; 90){F}
    \uput[d](A){\begin{tabular}{c}$\Wig₁ = \Sp_{1,δ} = R^*$ \\(conjugate-Rihaczeck)\end{tabular}}
    \uput[-75](D){\begin{tabular}{c}$\Wig₀ = \Sp_{δ,1} = R$ \\(Rihaczeck)\end{tabular}}
    \uput[50](B){$ \Wig_{1/2} = \Wig$\quad(Wigner)}
    \uput[-70](C){$ Wig_τ\quad\tau$-Wigner}
    \uput[65](E){$\Sp_\phi$ (classical spectrogram)}
    \uput[-65](F){$Q = ∫_{[0,1]}\Wig_τ\,dτ$}
    \rput [l](-1.5,-1.4){\textbf{generalised spectrogram: } $\Sp_{\phi, ψ}$}
    \rput[l](-1.5,1.4){\textbf{Cohen class: } $σ*\Wig$}
\end{pspicture}

\end{document} 

enter image description here

3
  • 3
    By ‘material shape’, what do you mean exactly? The rectangle, squre, circle? or the labels? As to the second question: the code I posted cannot be applied to a tikz picture. pstricks is an interface between LaTeX and Adobe PostScript language.
    – Bernard
    Commented Nov 23, 2016 at 23:54
  • What are the benefits of your approach in comparison to hhh's one? Commented Nov 24, 2016 at 0:04
  • 2
    In my opinion, for those not familiar with tikz, which requires learning a new graphic language, it only uses LaTeX commands, so it's like learning to use a new package. You can obtain .eps files (they are postscript files with a bounding box), which publishers often require, as well as .pdf files (enabling -shell-escape for the compiler). That said, the possibilities are similar.
    – Bernard
    Commented Nov 24, 2016 at 0:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .