First time here? Check out the FAQ!

Ask Your Question
3

Font size for edge label

asked 13 years ago

Eugene gravatar image

Simple example:

d = DiGraph()
d.add_edge(1, 2, '$a_0$')
d.plot(edge_labels=True)

gives me extremely small edge label 'a0', is it possible to increase font size for all edge labels?

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
4

answered 13 years ago

parzan gravatar image

This one took me some time. It can be achieved by opening YOUR_SAGE_DIR/local/lib/python2.6/site-packages/sage/graphs/graph_plot.py and changing the line

self._plot_components['edge_labels'].append(text(str(edges_to_draw[(a,b)][0][0]),[(self._pos[a][0]+self._pos[b][0])/2., (self._pos[a][1]+self._pos[b][1])/2.]))

to

self._plot_components['edge_labels'].append(text(str(edges_to_draw[(a,b)][0][0]),[(self._pos[a][0]+self._pos[b][0])/2., (self._pos[a][1]+self._pos[b][1])/2.],fontsize=20))

There is no need to compile anything, just save the file and then run sage.

Remark: in the mentioned file there are 5 lines starting with

self._plot_components['edge_labels'].append(text...

so to be on the safe side you can change all of them (adding fontsize=20 as a last parameter to the text function). I suspect they handle different situations (directed/undirected graphs, etc.). You can put DEFAULT_FONTSIZE = 20 at the beginning of the file and then add fontsize=DEFAULT_FONTSIZE to the text functions - this will allow you to change the size easily later.

Preview: (hide)
link

Comments

Nice work -- this bug should be reported and fixed :) Can you add label_font_size to the rest of the options for graphs?

niles gravatar imageniles ( 13 years ago )

I don't think this is a bug, just something no one implemented yet, so it is more of a "feature request". Does sage has a place for such requests?

parzan gravatar imageparzan ( 13 years ago )

yep -- the trac server (trac.sagemath.org) lets you select whether the issue you're reporting is a bug or an enhancement.

niles gravatar imageniles ( 13 years ago )

I concur that you should file a ticket to make this customizable.

kcrisman gravatar imagekcrisman ( 13 years ago )

Also, it's better to change the YOUR_SAGE_DIR/devel/sage/sage/graphs/graph_plot.py file and then build, because Sage will automatically keep track of the changes you have made and make it easier to see what you have and haven't changed.

kcrisman gravatar imagekcrisman ( 13 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 13 years ago

Seen: 1,097 times

Last updated: Jul 25 '11