Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do the astronomical symbol "\sun" in PyX

I've been trying to put the astronomical symbol of the sun on a graph using PyX, but so for with no success. The code I have is the following:

 from pyx import *
 from pylab import *
 x=arange(1,5,0.1)
 y=exp(-(x-3.0)**2/(2.0*0.5**2))/sqrt(2.0*pi*0.5**2)
 ######################
 g=graph.graphxy(width=8,y=graph.axis.linear(title=r"Fraction of DM halos"),x=graph.axis.linear(min=1,title=r"Mass ($10^{11}M_{\sun}$)"))
 g.plot(graph.data.values(x=x,y=y),styles=[graph.style.histogram()])
 g.writeEPSfile("testhistogram")

I tried adding text.set(mode="latex") followed by text.preamble("\usepackage{mathabx}"), but this doesn't work (because I know this symbol is on the mathabx LaTeX package). Any ideas?

like image 638
Néstor Avatar asked Oct 31 '25 13:10

Néstor


1 Answers

I am without pyx here, but have you simply tried to use Unicode strings and pass in the unicode character for the symbol you want?

The char for the sun symbol has unicode number 9737 (decimal, 0x2609 hex) , so you could just try doing this:

g=graph.graphxy(width=8,y=graph.axis.linear(title=r"Fraction of DM halos"),
   x=graph.axis.linear(min=1,
       title=u"Mass ($10^{11}M_\u2609$)"))
like image 64
jsbueno Avatar answered Nov 02 '25 01:11

jsbueno