Gnuplot usa el signo menos de guión (U + 002D) cuando imprime números negativos (por ejemplo, etiquetas de marca). Me gustaría hacer que Gnuplot use el signo menos Unicode (U + 2212).

Por lo general, me he basado en una de las siguientes soluciones:

  1. Establezca explícitamente la etiqueta de cada marca de verificación usando set xtics (-0.05 "−0.05", ...);
  2. Exporte el gráfico usando un controlador LaTeX (por ejemplo, epslatex) y encierre el número dentro de $$ (por ejemplo, set format x "$%.2f$").

Sin embargo, ninguna de las soluciones anteriores me atrae. ¿Hay alguna forma de hacer que Gnuplot use automáticamente la convención tipográfica correcta para números negativos?

5
Maurizio Tomasi 26 ene. 2015 a las 18:02

2 respuestas

La mejor respuesta

Desafortunadamente, la única "solución" que puedo encontrar es trazar etiquetas con valores formateados del eje x usando sprintf, en lugar de usar xtics set format x " ":

set format x " "
plot 'data', \
  'data' u 1:(0):(($1 >= 0 ? $1 : sprintf('{\055}%d', -$1))) notitle w labels offset graph 0, -0.55

Y tendría que encontrar un símbolo en lugar de {\055} cerca del signo menos Unicode, entre los códigos de caracteres PostScript.

Este código asume que el valor medio de los datos es 0, luego verifica si el valor x $1 es positivo (test ? yes : no)

0
Sébastien Guarnay 21 mar. 2016 a las 20:00

Desde la versión 5.0.5, gnuplot tiene un comando set minussign. Cuando está configurado, la función gprintf, que también se usa para configurar las etiquetas de tics, usa signos menos tipográficos (U + 2212) en lugar de un guión:

set encoding utf8
set minussign
plot x

enter image description here

6
Christoph 21 nov. 2016 a las 20:58