【问题标题】:How to get markers with no fill, from matplotlib 3.3.1如何从 matplotlib 3.3.1 获取没有填充的标记
【发布时间】:2021-01-01 18:22:23
【问题描述】:

matplotlib.pyplot.scatter 有一个facecolors=None 参数,该参数将使数据点标记看起来内部是空心的。我怎样才能获得与pandas.DataFrame.plot.scatter() 相同的外观?

【问题讨论】:

    标签: python pandas matplotlib data-visualization scatter-plot


    【解决方案1】:

    这是选项c(注意它是'None'而不是None,即使是plt中的facecolors):

    df.plot.scatter(x='x',y='y', c='None', edgecolors='C1')
    

    输出:

    【讨论】:

      【解决方案2】:
      • matplotlib 文档中很难找到,但似乎fcec 分别是facecoloredgecolor 的别名。
      • pandas 绘图引擎是 matplotlib
      • 参数为fc。要使用fc,您还应该使用ec
        • 指定fc='none',而不指定ec,将导致空白标记。
      • 'None''none' 都有效,但 None 无效。
      import seaborn as sns  # for data
      import matplotlib.pyplot as plt
      
      # load data
      penguins = sns.load_dataset("penguins", cache=False)
      
      # set x and y
      x, y = penguins["bill_length_mm"], penguins["bill_depth_mm"]
      
      # plot
      plt.scatter(x, y, fc='none', ec='g')
      

      # penguins is a pandas dataframe
      penguins[['bill_length_mm', 'bill_depth_mm']].plot.scatter('bill_depth_mm', 'bill_length_mm', ec='g', fc='none')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-09
        • 2020-04-26
        • 2014-08-23
        • 1970-01-01
        相关资源
        最近更新 更多