Default colors of Matrix.plot

31 views
Skip to first unread message

Nathann Cohen

unread,
Feb 9, 2016, 11:52:49 AM2/9/16
to Sage devel, Karl-Dieter Crisman
Hello everybody,

Another trivial change is turning into an insufferable waste of time.
As is customary, we solve it by maximizing the amount of people
wasting their time on the problem. Here it is:

sage: matrix.identity(15).plot(cmap='gray') # 1 is white and 0 is black
sage: matrix.identity(15).plot(cmap='Greys') # 1 is black and 0 is white

Sage's default is the first of those two:

sage: matrix.identity(15).plot() # 1 is white and 0 is black

I found it rather unpleasant that '1', the highest value, is the same
as the background color, when '0' is the most appearant color: black.

I opened a ticket to change the default, and of course somebody complained:

http://trac.sagemath.org/ticket/20026

I asked a lot of people around me (without hinting at my preference)
and everybody agreed that what #20026 implements is the most natural
choice. I let you decide, I'm bored at seeing that each line I
contibute to Sage means 3 hours wasted on senseless discussions.

Nathann

kcrisman

unread,
Feb 9, 2016, 12:14:58 PM2/9/16
to sage-devel


Another trivial change is turning into an insufferable waste of time.

If it were that trivial, you wouldn't have bothered opening the ticket.  So it is non-trivial enough to at least ask for discussion.

 
As is customary, we solve it by maximizing the amount of people
wasting their time on the problem. Here it is:

    sage: matrix.identity(15).plot(cmap='gray') # 1 is white and 0 is black
    sage: matrix.identity(15).plot(cmap='Greys') # 1 is black and 0 is white

Sage's default is the first of those two:

    sage: matrix.identity(15).plot() # 1 is white and 0 is black

I found it rather unpleasant that '1', the highest value, is the same
as the background color, when '0' is the most appearant color: black.

I opened a ticket to change the default, and of course somebody complained:

    http://trac.sagemath.org/ticket/20026


Given that the ticket achieved positive review mere hours after being implemented, and doesn't fix a bug or add new functionality, this seems reasonable to ask about.
 
I asked a lot of people around me (without hinting at my preference)
and everybody agreed that what #20026 implements is the most natural
choice. I let you decide, I'm bored at seeing that each line I
contibute to Sage means 3 hours wasted on senseless discussions.


To be clear, this is *literally* bikeshedding... but since the default has been around for possibly nearly a decade (I couldn't even find when it was done, and the files have been moved around so much I don't know if git blame would be helpful), and since it could be a nasty surprise to someone using it in an interactive environment when Sage is upgraded for them (e.g. cloud or Sage cell) if they aren't ready for it, it seems worth bringing up.  

I'm just not always a fan of these defaults being chosen by whoever bothers to take an interest when non-developing users (which we should expect more of given SMC's growth) may not be represented in such discussions. I understand that this may be a minority viewpoint on sage-devel. 

- kcrisman

Nathann Cohen

unread,
Feb 9, 2016, 12:23:45 PM2/9/16
to Sage devel
> To be clear, this is *literally* bikeshedding...

Billed to the tax-payer, at least in my case.

> I'm just not always a fan of these defaults being chosen by whoever bothers
> to take an interest when non-developing users (which we should expect more
> of given SMC's growth) may not be represented in such discussions. I
> understand that this may be a minority viewpoint on sage-devel.

You cannot claim to be talking on behalf of all non-developing users, of course:

1) Some non-developing users may dislike the former standard.
2) Some non-develping users may use 'cmap="Grays"' to get a decent picture.
3) The *future* users (and that's a lot of people, right?!) do not
care for a legacy-but-bad standard and would prefer to get something
trustworthy from the start.

So it seems that you are talking on behalf of non-developing users who
are used to this standard and may even like it. Problem is, we don't
know if this set is empty of even represents more that 1% of the
total.

But words wrap it all up into a "think of the children" cry, and
that's more powerful than any argumentation.

Nathann
Reply all
Reply to author
Forward
0 new messages