【问题标题】:change scatter plot marker thickness更改散点图标记厚度
【发布时间】:2016-07-29 15:42:37
【问题描述】:

如何更改散点图中标记线的粗细plt.scatter()markeredgewidthplt.plot() 中的有效属性; scatter plots 是否有任何等效属性?

例如,当您更改散点图的大小(使用marker = 'x')时,标记只会变大,但线条粗细不会改变。

我不是要改变大小而是线条粗细!

【问题讨论】:

  • 不,我不想改变尺寸,但我需要厚度 - 请阅读帖子
  • 请解释厚度与尺寸
  • 当你改变marker = 'x' 的大小时,它只会变得更大,但我也希望它更厚。 markeredgewidthplt.plot() 执行相同操作
  • “线条粗细”和“粗细”不是一回事。

标签: python matplotlib


【解决方案1】:

为简洁起见,您也可以简单地使用 lw 而不是 linewidth

【讨论】:

    【解决方案2】:

    您正在寻找 kwarg linewidths。例如:

    import matplotlib.pyplot as plt
    import numpy as np
    x = y = np.arange(5)
    
    fig,ax = plt.subplots(1)
    
    ax.scatter(x,y,  s=100,marker='x',color='b',linewidths=1)
    ax.scatter(x,y+1,s=100,marker='x',color='r',linewidths=2)
    ax.scatter(x,y+2,s=100,marker='x',color='g',linewidths=3)
    
    plt.show()
    

    注意:在某些版本的 matplotlib 上,kwarg 似乎是 linewidth,而不是 linewidths,尽管 manual currently says(2020 年 4 月)是什么。这是known issue on the matplotlib github

    【讨论】:

    • 也许有些改变,但对我来说是linewidth,而不是linewidths。没有's'。
    • 在 Python 3 中安装的 2.2.2 版(我认为是当前最新的稳定版本)的文档中,它写着 linewidths
    【解决方案3】:

    Ubuntu-18.04 并安装 ma​​tplotlib==3.2.0python-3.6.9,你只需要设置@987654322 @属性(不是linewidths):

    import matplotlib.pyplot as plt
    import numpy as np
    x = y = np.arange(5)
    
    fig,ax = plt.subplots(1)
    
    ax.scatter(x,y,  s=100,marker='x',color='b',linewidth=1)
    ax.scatter(x,y+1,s=100,marker='x',color='r',linewidth=2)
    ax.scatter(x,y+2,s=100,marker='x',color='g',linewidth=6)
    
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多