【问题标题】:plotting the sum of an array array[0:i] vs i绘制数组 array[0:i] 与 i 的总和
【发布时间】:2015-07-22 21:01:19
【问题描述】:

这是一个简单的问题,但我似乎被卡住了:

假设有一个包含 1000 个值的数组,即

import numpy
arr = np.arange(1000)

我想沿 x 轴绘制这些值,并在 y 轴上绘制这些值的总和。例如,0:0、1:1、2:3、3:6、4:10、5:15、6:21 等。此外,我希望使用np.sum() 尽可能高效地执行此操作。

使用 matplotlib,xaxis 是arr。你将如何编码 y 轴? 也许

def summation(i):
    return np.sum(arr[0:i])

然后用这个函数创建一个数组?那不太行。

【问题讨论】:

  • 您能否解释一下数字“1:1、2:3、3:5、4:9、5:14、6:20 等”的含义?另外,请参阅@farenorth 的答案中的 cmets。

标签: python arrays matplotlib


【解决方案1】:

我认为您正在寻找的是cumsum。例如:

y = np.cumsum(arr)

要绘制数据,您可以这样做,

import matplotlib.pyplot as plt

plt.plot(arr, y)

祝你好运!

【讨论】:

  • 如何处理请求的范围,即“[f] 或例如 1:1, 2:3, 3:5, 4:9, 5:14, 6: 20 等”?
  • 我不确定这些值是否与arr 的定义和summation 的定义一致。不仅第一对应该是@​​987654326@,而且我相信第三对应该比它们高一个。除非我错过了什么?如果@ShanZhengYang 让他的问题保持一致,我会具体回答。
猜你喜欢
  • 1970-01-01
  • 2011-07-27
  • 1970-01-01
  • 2017-10-16
  • 2023-03-29
  • 2022-01-07
  • 2015-12-21
  • 1970-01-01
  • 2014-06-20
相关资源
最近更新 更多