[matplotlib-devel] Canvas HTML5 backend
Hi,
I'm trying to work on the canvas javascript backend I found here
[1]. I'm trying to add text but the canvas origin is at the top left,
how can I transform the co-ordinates from the matplotlib to canvas?
def draw_text(self, gc, x, y, s, prop, angle, ismath=False):
ctx = self.ctx
ctx.font = "12px Times New Roman";
ctx.fillStyle = "Black";
ctx.fillText("%r" % s, x, y)
[1]
http://bitbucket.org/sanxiyn/matplotlib-canvas/src/80e9abf6d251/backend_canvas.py
Regards, Michael
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Re: [matplotlib-devel] Canvas HTML5 backend
2009/9/1 John Hunter :
> On Tue, Sep 1, 2009 at 10:32 AM, Michael Thompson wrote:
>> Hi,
>> I'm trying to work on the canvas javascript backend I found here
>> [1]. I'm trying to add text but the canvas origin is at the top left,
>> how can I transform the co-ordinates from the matplotlib to canvas?
>>
>> def draw_text(self, gc, x, y, s, prop, angle, ismath=False):
>> ctx = self.ctx
>> ctx.font = "12px Times New Roman";
>> ctx.fillStyle = "Black";
>> ctx.fillText("%r" % s, x, y)
>>
>> [1]
>> http://bitbucket.org/sanxiyn/matplotlib-canvas/src/80e9abf6d251/backend_canvas.py
>
> The backend canvas should know its height, so height-y should
> transform from bottom to top
Thanks, turns out to be a problem setting the size of the canvas
element that the javascript is rendered into. If self.flipy is set
then the text.py takes care of subtracting y from the height.
Next problem is the text alignment, look OK on the right axis but
wrong on the left I presume it's the alignment.
The documentation says that s should be a matplotlib.text.Text
instance and I can use s.get_horizontalalignment() but it seems that s
is a unicode string. How can I find the alignment I should set on the
text?
Michael
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Re: [matplotlib-devel] Canvas HTML5 backend
2009/9/1 Jae-Joon Lee : > My understanding is that all the backends should use left-bottom > alignment. Text alignment in matplotlib is handled by mpl itself (not > by the backend), and for this to work, you have to define > get_text_width_height_descent method correctly. > > The real question is how we know the metric of the font that will be > used for rendering. I have little knowledge about the html canvas > specification, but I presume that the situation is very similar to the > svg case. Unless we embed the fonts (the svg backend has an option to > embed the fonts as paths), I don't think it is possible to get it > right. I see firefox 3.5 (html5) has a method to measure the width of the text, I'll look at using this in a javascript function to render the text. https://developer.mozilla.org/en/Drawing_text_using_a_canvas#measureText%28%29 > > ps. gnuplot seems to use embedded fonts for their html5 canvas backend > (I haven't checked carefully but their demo output uses canvastext.js, > originally from http://jim.studt.net/canvastext/) yep noticed that, but didn't realize the significance of not using the built in canvas text drawing. Thanks, Michael -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Matplotlib-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
