Posteriormente a consultar con expertos en el tema, programadores de deferentes ramas y maestros hemos dado con la respuesta al problema y la dejamos plasmada en este post.
Solución:
Puede cambiar sus ejes, marcas y etiquetas para obtener el efecto de eje. Ajustar el color de la trama y el tamaño de las marcas te acerca al estilo general. Las etiquetas se pueden agregar a través de puntos de referencia de nodos en el sistema de coordenadas de datos.
He actualizado mi respuesta anterior para incluir nuevas características de pgfplots
y colocó gran parte del código en un solo tuftelike
estilo. Muchas gracias a Christian Feuersänger por su continuo trabajo en el pgfplots
paquete.
documentclassarticle
usepackagepgfplots
pgfplotssetcompat=1.13
pgfkeys/pgfplots/tuftelike/.style=
semithick,
tick style=major tick length=4pt,semithick,black,
separate axis lines,
axis x line*=bottom,
axis x line shift=10pt,
xlabel shift=10pt,
axis y line*=left,
axis y line shift=10pt,
ylabel shift=10pt
begindocument
begintikzpicture[every pin/.style=red!50!black,font=smallsffamily]
beginaxis[tuftelike,
xlabel=$L$ [H],
ylabel=$hatI_DM$ [A],
enlarge x limits=false,
xtick=data,
ytick=0.4,0.6,...,1.801,
ymin=0.4,ymax=1.8]
addplot[black,mark=*,mark size=1.5pt]
coordinates(948e-6,1.61981) (1.5e-3,1.02377) (2e-3,0.769047)
(2.5e-3,0.614994) (3e-3,0.503511);
node[coordinate,pin=above right:2007] at (axis cs:1.5e-3,1.02377) ;
endaxis
endtikzpicture
enddocument
La forma del eje se obtiene usando separate axis lines
y el axis ... line*
estilos. El desplazamiento del eje se obtiene a través de la axis ... line shift
y ...label shift
comandos Estos podrían emitirse como un comando común, pero he mantenido el x
y y
variantes visibles si necesita cambiarlas individualmente. El ajuste del estilo y el color de la marca es del semithick
y el tick style
.
(El último ytick
el valor es 1.801
en vez de 1.8
debido a problemas de redondeo en la aritmética interna).
El código
[every pin/.style=red!50!black,font=smallsffamily]
proporciona el estilo para la etiqueta del punto dado en el gráfico.
Además de cambiar el eje, puede ir un paso más allá y crear lo que Tufte llama “marcos de rango”, donde las líneas del eje solo cubren el rango de los datos. Una forma de hacer esto se describe en Creación de gráficos de barras y diagramas de dispersión estilo Tufte usando PGFPlots en TUGBoat número 34:
documentclassstandalone
usepackagepgfplots
pgfplotssetcompat=newest
begindocument
makeatletter
defpgfplotsdataxmin[email protected]@xmin
defpgfplotsdataxmax[email protected]@xmax
defpgfplotsdataymin[email protected]@ymin
defpgfplotsdataymax[email protected]@ymax
makeatother
pgfplotsset
range frame/.style=
tick align=outside,
axis line style=opacity=0,
after end axis/.code=axis cs:pgfplotsdataxmin,0) -- (rel axis cs:0,0-
begintikzpicture
beginaxis[
range frame,
xlabel=$L$ [H],
ylabel=$hatI_DM$ [A],
axis lines*=left,
xtick=data, ymin=0.41
]
addplot +[black, mark options=fill=black] coordinates (948e-6,1.61981) (1.5e-3,1.02377) (2e-3,0.769047) (2.5e-3,0.614994) (3e-3,0.503511);
endaxis
endtikzpicture
enddocument
Pgfplots permite una personalización muy fina de los ejes gracias a opciones como:
x/y/z axis line style
x/y/ztick style
x/yt/zticklabel style
Básicamente, si cambia los elementos de manera adecuada, puede lograr algo similar. Un humilde intento como prueba de concepto:
documentclass[border=10pt]standalone
usepackagepgfplots
pgfplotssetcompat=1.9
begindocument
begintikzpicture[font=sffamily]
beginaxis[extra description/.code=% to place xlabel and ylabel more arbitrarily
node[below=7pt] at ([xshift=1.5cm]xticklabel* cs:1)$L$ [H];
node at ([xshift=-1.5cm]yticklabel* cs:0.5)$hatI_DM$ [A];
,
axis x line=left,
axis y line=left,
y axis line style=xshift=-6pt,-,
x axis line style=yshift=-6pt,-,
xtick style=yshift=-4pt,black, % black to override the default style
ytick style=xshift=-4pt,black, % black to override the default style
xticklabel style=yshift=-5pt,
yticklabel style=xshift=-5pt,
scaled ticks=false,
ymin=0.5,
ymax=1.75,
ytick=0.5,0.75,1,1.25,1.5,1.75,
yticklabels=0.5,0.75,1,1.25,1.5,1.75,
xmin=0.9e-3,
xmax=3.2e-3,
xtick=0.9e-3,1.4e-3,2e-3,2.6e-3,3.2e-3,
xticklabels=0.9e-3,1.4e-3,2e-3,2.6e-3,3.2e-3]
addplot coordinates (948e-6,1.61981) (1.5e-3,1.02377) (2e-3,0.769047) (2.5e-3,0.614994) (3e-3,0.503511);
endaxis
endtikzpicture
enddocument
El resultado:
Reseñas y valoraciones
Recuerda comunicar esta noticia si te fue de ayuda.