【问题标题】:How to generate point in 2D uniformly distributed on a rectangle?如何生成均匀分布在矩形上的二维点?
【发布时间】:2020-12-24 20:58:44
【问题描述】:

我试图生成一个 1000 个二维点,均匀分布在尺寸为 [-1,1]x[0,0.5] 的矩形上,然后绘制这些点,但我做不到。我收到此错误。

typeError: 'float' object cannot be interpreted as an integer. 

这是我想出的代码:

import matplotlib.pyplot as plt
vect = np.random.uniform(1000)
plt.plot(range(-1,1), range(0,0.5), vect)
plt.show()

我想我真的不明白该怎么做。我应该使用np.random.randn 还是np.random.rand?我必须对我做错了什么有一些解释。 (如果可能的话,每一行,以便我更好地理解)

谢谢

【问题讨论】:

  • @Maestra 的预期输出是什么?
  • 我应该显示点图

标签: python matplotlib


【解决方案1】:

第一:xlist = np.random.uniform(1000,low=-1, high = 1) 第二个ylist = np.random.uniform(1000,low=0, high = 0.5) 最后plt.scatter(xlist, ylist)

【讨论】:

  • 你确定它会产生积分吗?如果他正在寻找积分,我会建议 plt.scatter 而不是 plt.plot
  • @Karthik 是的,你当然是对的 - plt.scatter
  • 我收到此错误 msf 文件“”,第 1 行 xlist = np.random.uniform(low=-1, high=1, 1000)。 ^ 语法错误:位置参数跟在关键字参数之后。
  • @Maestra 已修复。但你知道,你可以自己修复语法。
  • 是的,我做到了。我删除了“low=”和“high=”,它起作用了。我最终使用的代码是:首先,xlist = np.random.uniform(-1, 1, 1000)。其次,ylist = np.random.uniform(0, 0.5, 1000)。最后,plt.scatter(xlist, ylist)。结构与您的不同,但我想两者都可以。谢谢你的帮助。
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 2019-02-21
  • 2012-05-21
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 2012-06-26
相关资源
最近更新 更多