Issue 1:
Problem

plt.scatter accepts both singular and plural forms of the linewidth(s) and edgecolor(s) attributes. The plural forms are documented in the function signature, but the singular forms actually take precedence if both are specified.

This adds some complexity for downstream libraries and confusion for their users (cf. mwaskom/seaborn#2384).

Proposed Solution

Small change: Matplotlib could raise when both the singular and plural forms are specified.

Larger change: I will confess that I don't know why the plural forms of the kwargs exist. If there's not a strong reason for the duplication, perhaps they could be deprecated, or at least "formally discouraged"?

Additional context and prior art

Scatter does a lot of argument checking on the c/color parameters (too much at times, 😉), so there's some local precedence for a lot of handholding. On the other hand, matplotlib generally doesn't raise when both long- and short-forms of kwargs are given e.g. edgecolorandec`).

Issue 2:
Potentially related to #5143 or #2025?

Using Homebrew on OS X 10.10.5, i installed homebrew/dupes/tcl-tk, uninstalled and reinstalled python3, then tried to rebuild matplotlib against the newer Python and Tk with pip3 install --no-binary :all: matplotlib. (Note that since I do not have root access to this computer, my Homebrew installation is under $HOME.)

When I try to start the embedding_in_tk.py example, I get the following errors:

$ python3 embedding_in_tk.py
objc[5671]: Class TKApplication is implemented in both /Users/jlong/opt/tcl-tk/lib/libtk8.6.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
objc[5671]: Class TKMenu is implemented in both /Users/jlong/opt/tcl-tk/lib/libtk8.6.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
objc[5671]: Class TKContentView is implemented in both /Users/jlong/opt/tcl-tk/lib/libtk8.6.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
objc[5671]: Class TKWindow is implemented in both /Users/jlong/opt/tcl-tk/lib/libtk8.6.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
Traceback (most recent call last):
File "/Users/jlong/homebrew/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/backends/tkagg.py", line 22, in blit
id(data), colormode, id(bbox_array))
_tkinter.TclError: invalid command name "PyAggImagePhoto"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "embedding_in_tk.py", line 34, in <module>
canvas.show()
File "/Users/jlong/homebrew/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", line 355, in draw
tkagg.blit(self._tkphoto, self.renderer._renderer, colormode=2)
File "/Users/jlong/homebrew/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/backends/tkagg.py", line 30, in blit
id(data), colormode, id(bbox_array))
_tkinter.TclError

Running otool -L on the compiled _tkagg extension shows it using the system's Tcl/Tk instead of Homebrew's:

$ otool -L /Users/jlong/homebrew/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/backends/_tkagg.cpython-35m-darwin.so
/Users/jlong/homebrew/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/matplotlib/backends/_tkagg.cpython-35m-darwin.so:
/System/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl (compatibility version 8.5.0, current version 8.5.9)
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk (compatibility version 8.5.0, current version 8.5.9)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

So, my question is, am I missing a necessary flag to install matplotlib from source on a Mac with this particular combination of circumstances? Is there a way to tell it to use the Homebrew Tcl/Tk?

(Oddly enough, I'm only building my own Tcl/Tk to solve another issue: http://sourceforge.net/p/tktoolkit/bugs/2966/ http://bugs.python.org/issue10731)