如何更改标记边框宽度和填充宽度?

Dav*_*d E 33 python matplotlib

在我的散点图中的标记示例中,我将颜色设置为绿色,将边缘颜色设置为黑色,并将阴影设置为"|".为了显示填充图案,我必须设置edgecolor,但是当我这样做时,我会在标记周围形成一个非常粗的边框.两个问题:

1)如何设置此边框的大小(最好为0)?

2)如何增加影线的厚度?

Bon*_*fum 52

  1. 您只需设置linewidth控制标记边框粗细.
  2. 您可以通过重复符号来增加阴影密度(在下面的示例中,'|'在R/H窗格中重复;请注意,要获得NW-> SE对角线,必须对符号进行转义,因此需要两倍的字符才能实现加倍 - '\\\\'密度为2,'||||'密度为4).但是,我不认为影线内的各条线的厚度是可控的.

请参阅下面的代码示例以生成散点图,例如: 示例孵化控制

import matplotlib.pyplot as plt
# generate some data
x = [1,2,3,4,5,8]
y= [i**2 for i in x]
y2= [60-i**2+3*i for i in x]

# plot markers with thick borders
plt.subplot(121)
plt.scatter(x,y, s=500, marker='s', edgecolor='black', linewidth='3', facecolor='green', hatch='|')
# compare with no borders, and denser hatch.
plt.subplot(122)
plt.scatter(x,y, s=500, marker='s', edgecolor='black', linewidth='0', facecolor='green', hatch='||||')

plt.show()
Run Code Online (Sandbox Code Playgroud)

关于集合分散的 matplotlib文档.

  • 现在似乎是由“markerlinewidth”控制的。 (5认同)

Max*_*chi 10

如果您正在使用plt.plot,您将需要传递参数markeredgewidth


小智 6

这是您提出问题几年后,但我发现这样做的唯一方法是更改​​ matplotlib.rc。

您可以在实际的 .rc 文件中或在您的 python 脚本中执行此操作,例如

import matplotlib as mpl

mpl.rc('hatch', color='k', linewidth=1.5)

这将使脚本中的所有剖面线为黑色,粗细为 1.5,而不是默认的 1.0。