52

在这个散点图中的标记示例中,我将颜色设置为绿色,将边缘颜色设置为黑色,并将阴影设置为“|”。为了让填充图案完全显示出来,我必须设置边缘颜色,但是当我这样做时,我会在标记周围得到一个非常厚的边框。两个问题:

1)我怎样才能设置这个边框的大小(最好是0)?

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

4

2 回答 2

75
  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,y2, s=500, marker='s', edgecolor='black', linewidth=0, facecolor='green', hatch='||||')

plt.show()

matplotlib 关于collectionsscatter的文档。

于 2013-01-15T01:02:05.473 回答
6

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

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

import matplotlib as mpl

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

这将使脚本中的所有阴影线变为黑色,厚度为 1.5,而不是默认的 1.0。

于 2018-11-05T10:56:59.393 回答