Je cherche à insérer une image dans un graphique et à relier cette image à un point du graphique, si possible par une flèche, afin d'illustrer ce point. J'ai consulté le manuel de Christian Feuersänger de PGFPLOTS, aux pages 65 et 66.

Je souhaite pouvoir régler la taille de l'image (si possible avec scale=0.09) et l'ancrer (par exemple) à l'ouest du point.

Ouvrir dans l'éditeur Overleaf
\documentclass[10pt,french]{article}

 \usepackage[french]{babel}
 \usepackage[a4paper,left=6mm,right=6mm,top=15mm,bottom=15mm]{geometry}
 \usepackage[dvipsnames]{xcolor}
 \usepackage{tikz}
 \usepackage{graphicx}
 \DeclareGraphicsExtensions{.jpg,.pdf,.png,.tif}
 \usepackage{pgfplots}

 \definecolor{DarkOrange1}{rgb}{1,0.498,0}
 \pgfplotsset{width=18cm}

\begin{document}
\begingroup
\centering
\begin{tikzpicture}
\begin{axis}[
title={longueur de corrélation $\kappa$ en fonction de la durée de SVA},
xlabel={SVA duration (min)},
ylabel={correlation length $\kappa$ (nm)},
axis lines=left,grid=major,xmin=0,xmax=1300,ymin=0,
ymax=1600,
log ticks with fixed point,width=0.85\textwidth,]

\addplot[DarkOrange1,mark=*,mark size=1pt,only marks,] graphics
[xmin=700,
ymin=1000,
xmax=900,
ymax=1200,
includegraphics={width=529,height=524,clip},]{image.jpg};

\end{axis}
\end{tikzpicture}
\endgroup

La taille de l'image est 529 pixels * 524 pixels. Je souhaiterais m'affranchir d'indiquer xmin, xmax, ymin, ymax, indiquer juste les coordonnées du point et placer l'image à l'ouest du point, de coordonnées (1000,1570). Les tailles de l'image ne sont malheureusement pas prises en compte.

Posée 27 Avr '20, 23:24

cbreton's gravatar image

cbreton
75753748
Taux d'acceptation : 9%

Modifiée 27 Avr '20, 23:42

Bernard's gravatar image

Bernard
4.6k15

1

@cbreton la réponse apportée vous convient-elle ? Si oui n'hésitez pas à l'indiquer comme "acceptée", si non vous pouvez nous le faire savoir en commentant la réponse. cf. la FAQ

(29 Avr '20, 17:15) GuiTsi GuiTsi's gravatar image

@GuiTsi. Oui, la réponse me convient très bien. Simple et efficace !

(30 Avr '20, 22:17) cbreton cbreton's gravatar image

Vous pouvez par exemple utiliser la syntaxe TikZ pour insérer l'image où vous le désirez avec :

Ouvrir dans l'éditeur Overleaf
\draw (1000,1270) [<-,thick] -- ++ (-100,0) 
node [inner sep=0,outer sep=0,anchor=east] {\includegraphics[width=2cm]{example-image-a}};

Dans votre exemple, que j'ai simplifié, cela donne :

Ouvrir dans l'éditeur Overleaf
\documentclass[border=10pt]{standalone}
\usepackage{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}

\usepackage{mwe}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    title={longueur de corrélation $\kappa$ en fonction de la durée de SVA},
    xlabel={SVA duration (min)},
    ylabel={correlation length $\kappa$ (nm)},
    axis lines=left,grid=major,xmin=0,xmax=1300,ymin=0,
    ymax=1600,
    log ticks with fixed point,width=0.85\textwidth,]

\draw (1000,1270) [<-,thick] -- ++ (-100,0) 
    node [inner sep=0,outer sep=0,anchor=east] {\includegraphics[width=2cm]{example-image-a}};
\end{axis}
\end{tikzpicture}
\end{document}

Vous pourrez régler la taille de votre image par scale=.09 si vous le souhaitez au lieu de width=2cm. Notez bien l'utilisation de \pgfplotsset{compat=1.17} pour bénéficier des dernières fonctionnalités de pgfplots (nécessaires dans notre cas). D'ailleurs vous pouvez remarquer dans votre fichier log que si vous ne mettez pas cette ligne pgfplots vous recommande de le faire :

Ouvrir dans l'éditeur Overleaf
Package pgfplots Warning: running in backwards compatibility mode (unsuitable tick labels; missing features). Consider writing \pgfplotsset{compat=1.17} into your preamble.

La solution avec TikZ n'est pas la plus élégante mais elle permet d'obtenir un résultat rapidement !

Lien permanent

Publiée 28 Avr '20, 20:43

GuiTsi's gravatar image

GuiTsi
485310
Taux d'acceptation : 8%

Modifiée 29 Avr '20, 22:13

Pathe's gravatar image

Pathe ♦♦
7.5k42204251

2

@GuiTsi : je ne sais pourquoi la solution ne serait pas élégante, mais je la trouve drôlement efficace !

(29 Avr '20, 22:14) Pathe ♦♦ Pathe's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.