2015-02-09 59 views
26

使用pyplot.plot当我使用pyplot.plot生产散点图,除去环形标志的轮廓(而不是散射 - 我在与颜色映射困难)如何在matplotlib

我使用绘图'o'标记圈出来,但圆圈总是有一个黑色的轮廓。

如何删除轮廓或调整其颜色?

+0

API文档是你的朋友:http://matplotlib.org/1.3.0/api/markers_api.html – jrd1 2015-02-09 05:13:38

+0

这对于做相反的事很有用 - 我可以很容易地得到一个没有填充的轮廓。或者,我可以更改实心圆的填充颜色。从那个页面(这是我来之前的地方),我不明白如何改变轮廓颜色。 – Toam 2015-02-09 05:21:01

回答

38

要删除的标记的轮廓,并调整其颜色,使用markeredgewidth(又名mew),和markeredgecolor(又名mec)分别。

使用this as a guide

import numpy as np 
import matplotlib.pyplot as plt 

x = np.arange(0, 5, 0.1) 
y = np.sin(x) 

plt.plot(x, 
     y, 
     color='blue', 
     marker='o', 
     fillstyle='full', 
     markeredgecolor='red', 
     markeredgewidth=0.0) 

这将产生: plot result

你可能注意到了,即使标记边缘颜色设置,因为它的宽度设定为零时不出现。

+0

正是我需要的!补充fyi设置颜色,必须使用:'color ='blue','not'm̶a̶r̶k̶e̶r̶c̶o̶l̶o̶r̶=̶'̶b̶l̶u̶e̶'̶' – uhoh 2016-06-10 07:31:27

+0

@uhoh:同意 - 您可以设置标记的颜色。我的示例并没有手动设置该参数,因为我已经说明尽管设置了,一旦markeredgewidth设置为0(因为这些参数独立于“颜色”),'markeredgecolor'不会显示。 – jrd1 2016-06-11 05:34:51

+0

是的:)我只是把它放在像我这样的下一个人在这里。 – uhoh 2016-06-11 09:59:48

4

pyplot API docs

markeredgecolor或MEC任何matplotlib颜色

实施例:

In [1]: import matplotlib.pyplot as plt 

In [2]: import numpy as np 

In [3]: x = np.linspace(0,1,11) 

In [4]: y = x * x 

In [5]: plt.plot(x,y,'o',color="red", ms=15, mec="red") 
Out[5]: [<matplotlib.lines.Line2D at 0x34e1cd0>] 

In [6]: plt.show() 

收率: Figure

是你在找什么?