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

时间:2013-01-14 20:03:17

标签: python matplotlib

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

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

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

2 个答案:

答案 0 :(得分:48)

  1. 您只需设置linewidth即可控制标记边框粗细。
  2. 您可以通过重复符号来增加阴影密度(在下面的示例中,在R / H窗格中重复'|';请注意,要获得NW-> SE对角线,符号必须为转义所以需要两倍的字符才能真正加倍 - '\\\\'是密度2而'||||'是密度4)。但是,我不认为影线内的单个线条的厚度是可控的。
  3. 请参阅下面的代码示例以生成散点图,例如: example hatching control

    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()
    

    关于collections的matplotlib文档 和scatter

答案 1 :(得分:2)

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

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

import matplotlib as mpl

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

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

相关问题