Setting Marker Edge Color In Plotting - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Setting Marker Edge Color In Plotting (/thread-30580.html) |
Setting Marker Edge Color In Plotting - JoeDainton123 - Oct-26-2020 Hello all I was hoping someone could help me fill in my gaps in my understanding regarding Python Plotting via matplotlib and the Python documentation. I am plotting some x&y data and customizing the plot using the key word arguments, the code i am using is:- pyplot.plot(x,y, label = "Test",linestyle="-", marker="o",color="red", linewidth=1.5)I wanted to change the edge color of the marker so i went to the matplotlib documentation (https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D.set_marker) and found the following function:- set_markeredgecolor(self, ec)I am trying to understand how I would incorporate this code, i have tried several different options:- pyplot.set_markeredgecolor("blue") pyplot.plot(x,y, label = "Test",linestyle="-", marker="o",color="red", linewidth=1.5) #THIS GIVE ME AN ERROR pyplot.plot(x,y, label = "Test",linestyle="-", marker="o",color="red", linewidth=1.5, set_markeredgecolor("blue")) #THIS GIVE ME AN ERROR pyplot.plot(x,y, label = "Test",linestyle="-", marker="o",color="red", linewidth=1.5, set_markeredgecolor="blue") #THIS GIVE ME AN ERRORIt is only when I remove the letters "set_" & brackets from the name of the function that it works i.e.:- set_markeredgecolor("blue") to markeredgecolor = "blue"So the code that I use to change the marker edge color is:- pyplot.plot(x,y, label = "Test",linestyle="-", marker="o",color="red", linewidth=1.5, markeredgecolor = "blue")My question is why does this work because the source code for this function (shown below) states that the name of the function is set_markeredgecolor NOT markeredgecolor - i thought that in order to call a function you have to call it by the name it was defined as? def set_markeredgecolor(self, ec): """ Set the marker edge color. Parameters ---------- ec : color """ if ec is None: ec = 'auto' if (self._markeredgecolor is None or np.any(self._markeredgecolor != ec)): self.stale = True self._markeredgecolor = ec |