在用python蒙特卡洛算法绘制图形时,发现坐标的值很模糊,不知道哪里出了问题,麻烦指点一下
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import numpy as np
import sys
a = mpatches.Circle([0, 0], radius=5, edgecolor='r', fill=False)#圆心,半径长度,圈的颜色,无填充
plt.xlim(-80, 80)
plt.ylim(-80, 80)
plt.axes().add_patch(a) # 在坐标轴里面添加圆
N = 1000 # 1000次投圈
b,c = 0, 20 # 投圈中心点围绕物品中心呈二维正态分布,均值为0,标准差为20cm
d = c * np.random.randn(N, 2) + b#np.random.randn(返回数组个数, 返回数组维度)
plt.scatter([x[0] for x in d], [x[1] for x in d], c=np.random.rand(N), alpha=1)#点的x轴坐标,点的y轴坐标,点的颜色,点的透明度
plt.show()
【以下回答由 GPT 生成】
在你的代码中,坐标值模糊的问题可能出现在以下几个地方:
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.add_patch(a)
将c改为与d对应的颜色映射,根据x坐标确定颜色:
c = [x[0] for x in d] # 使用x坐标作为颜色映射的依据
plt.scatter([x[0] for x in d], [x[1] for x in d], c=c, cmap='cool', alpha=1) # 使用cool colormap
将c设为单一颜色,例如红色:
c = 'red' # 单一颜色
plt.scatter([x[0] for x in d], [x[1] for x in d], c=c, alpha=1)
希望以上解决方案能够帮助你解决问题!如果还有其他疑问,请随时提问。
【相关推荐】