2011-04-13 10 views
11

me gustaría llamar algo así como¿Es posible mostrar unicode en las etiquetas de trazado de MATLAB?

xlabel('Time (μs)'); 

Pero eso sólo demuestra con un signo de interrogación en la trama. ¿Hay alguna forma de que aparezca el Unicode?

+2

Para el caso más general de Unicode que no está disponible a través de las capacidades limitadas de LaTeX de MATLAB, consulte http://stackoverflow.com/questions/7014476/is-it-possible-to-print-unicode-text-or- characters-in-matlab y http://stackoverflow.com/questions/6863147/matlab-how-to-display-utf-8-encoded-text-read-from-file –

Respuesta

12

Para su ejemplo específico, se puede obtener la pantalla que desee mediante TeX \ formato LaTeX:

xlabel('Time ({\mu}s)'); 

Para el caso más general de mostrar caracteres Unicode, si conoce the code for your character puede convertir el decim al valor para el código a un personaje usando la función CHAR y build a string así:

xlabel(['Time (' char(181) 's)']); %# Same results as above 
+2

Por cierto, no necesitas los corchetes alrededor de \ mu. '\ mus' funcionará. – Jonas

+1

@Jonas: cierto. De alguna manera, hace un tiempo tuve el hábito de usar llaves para agrupar símbolos de TeX, pero realmente no recuerdo * por qué *. Tal vez fue solo para diferenciarlo del texto normal y hacerlo más fácil de leer, o tal vez para dar cuenta de la posibilidad de que el símbolo TeX y la combinación regular de cuerdas me den un símbolo TeX diferente. Viejos hábitos ...;) – gnovice

+0

Genial, esto funcionó. ¡Gracias! –

3

Tal vez puedas probar:

xlabel('Time (\mu s)', 'interpreter','tex'); 

o simplemente

xlabel('Time (\mu s)'); 
+0

Gracias, esto funcionó para lo que yo quería. Dejo la pregunta abierta porque no parece que el Unicode arbitrario se pueda mostrar de esta manera (aunque puedo estar equivocado en esto). –

+0

Nota rápida: realmente quería \ mus not \ mu s, no quiero un espacio entre el μ y el s. –

+2

el espacio es solo para que el intérprete de tex identifique el símbolo, el resultado no debe contener un espacio. –

3

preferiría usar el formato TeX \ LaTeX.

En general, MATLAB no tiene un sistema consistente para mostrar caracteres Unicode. En su respuesta, gnovice menciona el uso de la función char, pero tenga en cuenta que esto realmente mostrará el carácter que corresponda a ese valor decimal en su sistema actual (según su configuración regional).

En Windows significa que probablemente querrá hacer referencia a la página de códigos Windows-1252 al elegir su valor decimal. Puede usar this resource si decide usar LaTeX.

Cuestiones relacionadas