Hello,
For some reason, I can’t get the degree sign showing up in my ps output:
Here is the simple test code:
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, ⁰C", color=‘black’, fontsize=16)
plt.savefig(‘test.ps’, papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
PS output shows Temperature, ?C, however PDF renders degree sign correctly.
I can’t seem to select the text in PS output, but the text is selectable in PDF.
This is probably a font issue, where PDF uses DejaVu, on the other hand PS uses a Times type font.
So, how can I adjust matplotlib to save in PS file?
Thanks.
···
–
Gökhan
Gökhan,
I tried your code, and everything worked fine for me. (PythonXY
2.7.3.1 on Windows 7) However, I usually use the escaped unicode value rather than unicode
characters directly. Does the following work instead:
···
On 2/25/2013 9:29 PM, Gökhan Sever
wrote:
Hello,
For some reason, I can't get the degree sign showing up in my
ps output:
Here is the simple test code:
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, ⁰C", color='black',
fontsize=16)
plt.savefig(‘test.ps’, papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
PS output shows Temperature, ?C, however PDF renders degree
sign correctly.
I can't seem to select the text in PS output, but the text
is selectable in PDF.
This is probably a font issue, where PDF uses DejaVu, on
the other hand PS uses a Times type font.
So, how can I adjust matplotlib to save in PS file?
Thanks.
–
Gökhan
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
_______________________________________________
Matplotlib-users mailing list
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, \u00B0C", color='black',
fontsize=16)
plt.savefig('test.ps ',
papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
Just a thought. Hope it helps.
Ryan
http://p.sf.net/sfu/appdyn_d2d_febMatplotlib-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/matplotlib-users
This works fine. However it is easy to remember a superscript o then its code By the way, can you select the text within the PS file?
···
On Mon, Feb 25, 2013 at 11:00 PM, Ryan Nelson <rnelsonchem@…287…> wrote:
On 2/25/2013 9:29 PM, Gökhan Sever > wrote:
Hello,
For some reason, I can't get the degree sign showing up in my
ps output:
Here is the simple test code:
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, ⁰C", color='black',
fontsize=16)
plt.savefig(‘test.ps’, papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
PS output shows Temperature, ?C, however PDF renders degree
sign correctly.
I can't seem to select the text in PS output, but the text
is selectable in PDF.
This is probably a font issue, where PDF uses DejaVu, on
the other hand PS uses a Times type font.
So, how can I adjust matplotlib to save in PS file?
Thanks.
–
Gökhan
Gökhan,
I tried your code, and everything worked fine for me. (PythonXY
2.7.3.1 on Windows 7)
However, I usually use the escaped unicode value rather than unicode
characters directly. Does the following work instead:
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, \u00B0C", color='black',
fontsize=16)
plt.savefig('test.ps ',
papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
Just a thought. Hope it helps.
Ryan
–
Gökhan
Hi,
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, \u00B0C", color='black',
fontsize=16)
plt.savefig('test.ps ',
papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
Just a thought. Hope it helps.
Ryan
This works fine. However it is easy to remember a superscript
o then its code By the way, can you select the text within
the PS file?
I just noticed that you are using here the character U+2070
“superscript zero” (⁰) while Ryan’s proposition is U+00B0 “degree
sign” (°) which I think is the correct one to use.
This being said, there should be no difference between using the
Unicode code and actual “°” character (and I agree it’s simpler to
remember)
In [1]: a = u"Temperature, \u00B0C"
In [2]: a
Out[2]: u'Temperature, \xb0C'
In [6]: b = u"Temperature °C"
In [7]: b
Out[7]: u'Temperature \xb0C'
Coming back to your other question, I can't select the text in the
PS file (using Okular or Evince). (but PDF is selectable)
Also, the PS file renders properly with both "⁰" and "°" signs. (but
with PDF, the “⁰” is placed to low, while “°” is fine)
Best,
Pierre
···
Le 26/02/2013 12:38, Gökhan Sever a écrit :
Hi,
fp = plt.figure(figsize=(8.5, 11))
fp.text(0.5, 0.5, u"Temperature, \u00B0C", color='black',
fontsize=16)
plt.savefig('test.ps ',
papertype=‘letter’)
plt.savefig(‘test.pdf’, papertype=‘letter’)
Just a thought. Hope it helps.
Ryan
This works fine. However it is easy to remember a superscript
o then its code By the way, can you select the text within
the PS file?
I just noticed that you are using here the character U+2070
“superscript zero” (⁰) while Ryan’s proposition is U+00B0 “degree
sign” (°) which I think is the correct one to use.
This being said, there should be no difference between using the
Unicode code and actual “°” character (and I agree it’s simpler to
remember)
You are right, U+00B0 is the right one. I think, I couldn’t find a “superscript o” easily then decided to use superscript zero from http://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts
However, there is a slight difference in their appearance when I compare them side by side.
For simplicity, I just use subscript and superscript unicode symbols to construct simple units.
In [1]: a = u"Temperature, \u00B0C"
In [2]: a
Out[2]: u'Temperature, \xb0C'
In [6]: b = u"Temperature °C"
In [7]: b
Out[7]: u'Temperature \xb0C'
Coming back to your other question, I can't select the text in the
PS file (using Okular or Evince). (but PDF is selectable)
Also, the PS file renders properly with both "⁰" and "°" signs. (but
with PDF, the “⁰” is placed to low, while “°” is fine)
Could you test my outputs if they look fine on your side?
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.pdf
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.ps
Thanks.
···
On Tue, Feb 26, 2013 at 6:02 AM, Pierre Haessig <pierre.haessig@…1709…> wrote:
Le 26/02/2013 12:38, Gökhan Sever a écrit :
Best,
Pierre
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
–
Gökhan
Good idea !
* your PDF file looks fine with Okular
* your PS indeed has the problem you describe (again Okular) :
- "°" (degree sign) is fine
- but "⁰" (zero superscript) is replaced by "?"
In case it may explain the difference : I'm using mpl 1.1.1rc2 from
Debian testing
and I have the following line in my matplotlibrc (is it relevant
???)
font.sans-serif : DejaVu Sans, sans-serif
Best,
Pierre
···
Le 26/02/2013 14:38, Gökhan Sever a écrit :
Could you test my outputs if they look fine on your side?
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.pdf
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.ps
My matplotlib is a git clone of a couple weeks old.
There is this line in the PS file (opening via vim)
%%BeginResource: font KDYSTE+NewCenturySchlbk-Roman
don’t know where it gets this.
#font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
PS uses that even I choose to use fot.sans-serif.
Dont see any font specification in the PDF file.
···
On Tue, Feb 26, 2013 at 8:29 AM, Pierre Haessig <pierre.haessig@…1709…> wrote:
Le 26/02/2013 14:38, Gökhan Sever a écrit :
Could you test my outputs if they look fine on your side?
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.pdf
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.ps
Good idea !
* your PDF file looks fine with Okular
* your PS indeed has the problem you describe (again Okular) :
- "°" (degree sign) is fine
- but "⁰" (zero superscript) is replaced by "?"
In case it may explain the difference : I'm using mpl 1.1.1rc2 from
Debian testing
and I have the following line in my matplotlibrc (is it relevant
???)
font.sans-serif : DejaVu Sans, sans-serif
Best,
Pierre
–
Gökhan
I'd say it's got nearly nothing to do with matplotlib.
The question is: will the font be included in the .ps and in the .pdf?
If not, which is most likely, it's upon the renderer to decide what to do if the requested glyph in the requested font is present or not in the system.
pdf is more likely to have the fonts / glyphs used also embeded in the pdf. One reason for them to be bigger than .ps. Ps, on the other hand, most of the times relys on the renderer to have the exact same font, referenced by name, pre-loaded in the system. Go figure.
To sum it up: use the old 7-bit equivalent for the degree sign, not any fancydancy UTF-8 character that is commonly not included in ye olde style postscript standard font embedded into your laser printer waaaay back then in the last millenium...
···
Am 26.02.2013 um 21:26 schrieb Gökhan Sever:
On Tue, Feb 26, 2013 at 8:29 AM, Pierre Haessig <pierre.haessig@...4287....> wrote:
Le 26/02/2013 14:38, Gökhan Sever a écrit :
Could you test my outputs if they look fine on your side?
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.pdf
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.ps
Good idea !
* your PDF file looks fine with Okular
* your PS indeed has the problem you describe (again Okular) :
- "°" (degree sign) is fine
- but "⁰" (zero superscript) is replaced by "?"
In case it may explain the difference : I'm using mpl 1.1.1rc2 from Debian testing
and I have the following line in my matplotlibrc (is it relevant ???)
font.sans-serif : DejaVu Sans, sans-serif
Best,
Pierre
My matplotlib is a git clone of a couple weeks old.
There is this line in the PS file (opening via vim)
%%BeginResource: font KDYSTE+NewCenturySchlbk-Roman
don't know where it gets this.
#font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
PS uses that even I choose to use fot.sans-serif.
Dont see any font specification in the PDF file.
--
Gökhan ------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options
Hi Thomas,
To sum it up: use the old 7-bit equivalent for the degree sign, not any fancydancy UTF-8 character that is commonly not included in ye olde style postscript standard font embedded into your laser printer waaaay back then in the last millenium...
Just out of curiosity, I looked at the list of ASCII printable
characters
(ASCII - Wikipedia) and
didn't find the degree sign. However, I found it in the so-called "8
bits extensions", which I believe is just the same as the Unicode U+00B0
character.
best,
Pierre
···
Le 27/02/2013 20:59, Thomas Sprinzing a écrit :
Okay, fair enough.
But do you have any ideas, how to force the PS creator to use a different font?
Say → font Times-Bold
···
On Wed, Feb 27, 2013 at 12:59 PM, Thomas Sprinzing <sprinzing@…4267…> wrote:
I’d say it’s got nearly nothing to do with matplotlib.
The question is: will the font be included in the .ps and in the .pdf?
If not, which is most likely, it’s upon the renderer to decide what to do if the requested glyph in the requested font is present or not in the system.
pdf is more likely to have the fonts / glyphs used also embeded in the pdf. One reason for them to be bigger than .ps. Ps, on the other hand, most of the times relys on the renderer to have the exact same font, referenced by name, pre-loaded in the system. Go figure.
To sum it up: use the old 7-bit equivalent for the degree sign, not any fancydancy UTF-8 character that is commonly not included in ye olde style postscript standard font embedded into your laser printer waaaay back then in the last millenium…
Am 26.02.2013 um 21:26 schrieb Gökhan Sever:
On Tue, Feb 26, 2013 at 8:29 AM, Pierre Haessig <pierre.haessig@…1709…> wrote:
Le 26/02/2013 14:38, Gökhan Sever a écrit :
Could you test my outputs if they look fine on your side?
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.pdf
http://atmos.uwyo.edu/~gsever/data/matplotlib/test.ps
Good idea !
- your PDF file looks fine with Okular
- your PS indeed has the problem you describe (again Okular) :
- “°” (degree sign) is fine
- but “⁰” (zero superscript) is replaced by “?”
In case it may explain the difference : I’m using mpl 1.1.1rc2 from Debian testing
and I have the following line in my matplotlibrc (is it relevant ???)
font.sans-serif : DejaVu Sans, sans-serif
Best,
Pierre
My matplotlib is a git clone of a couple weeks old.
There is this line in the PS file (opening via vim)
%%BeginResource: font KDYSTE+NewCenturySchlbk-Roman
don’t know where it gets this.
#font.serif : DejaVu Serif, Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
PS uses that even I choose to use fot.sans-serif.
Dont see any font specification in the PDF file.
–
Gökhan ------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
–
Gökhan
confirmed by looking at
http://www.adobe.com/type/browser/info/charsets.html
Adobe western 2 has the same info.
Alt-0179 or U+00B0
So, best is to use the degree sign.
If you're not sure, what's present at rendering time, maybe try to force the generator to convert fonts to ps paths.
But i donÄt know if matplotlib has tat optin at all...
···
Am 28.02.2013 um 14:31 schrieb Pierre Haessig:
Hi Thomas,
Le 27/02/2013 20:59, Thomas Sprinzing a écrit :
To sum it up: use the old 7-bit equivalent for the degree sign, not any fancydancy UTF-8 character that is commonly not included in ye olde style postscript standard font embedded into your laser printer waaaay back then in the last millenium...
Just out of curiosity, I looked at the list of ASCII printable
characters
(ASCII - Wikipedia) and
didn't find the degree sign. However, I found it in the so-called "8
bits extensions", which I believe is just the same as the Unicode U+00B0