【问题标题】:Plot only "not None" values at a scatter graph在散点图中仅绘制“非无”值
【发布时间】:2020-05-17 16:40:29
【问题描述】:

我有 2 个列表:

list1 = [-1, -6, None, -8, None, None, -2] #axis y
list2 = [1,2,3,4,5,6,7] #axis x

我只需要在散点图上绘制非无值(-1、-6...),但同时在 X 轴上显示 list2 上的所有值。

我还需要保持 Y 轴的顺序与所示相同(-1、-6...)。 有人能帮助我吗?

【问题讨论】:

  • 我不认为我理解你的问题。如果由于 list1 中的对应项为 None 而未绘制它们,您希望如何在 list2 中显示它们?
  • 如果您有连续的 x 值,并且即使缺少相应的 y 值,您也想使用每个 x 值......这怎么是 scatter 图?跨度>

标签: python scatter-plot


【解决方案1】:

要过滤掉list1 中的所有None 值,您可以使用这样的sn-p

does_not_contain_none = list(filter(lambda x: x is not None, list1))

注意:这将保留元素的原始顺序

【讨论】:

    【解决方案2】:

    一步一步

    zipped = zip(list1, list2)  # make pairs: (-1, 1), (-6, 2), (None, 3), ...
    filtered = filter(lambda x: x[0] is not None, zipped)  # filter all pairs where first element is None
    ys, xs = zip(*filtered)  # reverse zip operation but on the filtered data
    

    更紧凑

    filtered = (pair for pair in zip(list1, list2) if pair[0] is not None)
    ys, xs = zip(*filtered)
    

    【讨论】:

      猜你喜欢
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2016-04-28
      • 2014-09-03
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多