gpt4 book ai didi

python - 一定范围内的散点图 - python

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:51 25 4
gpt4 key购买 nike

本质上,我需要制作一个从 (0,1) 到 (0,1) 的方形散点图。以原点为中心的四分之一圆内的点需要涂成红色,外面的点需要涂成蓝色。我计划的方法是在同一张图表上绘制 2 个散点图,一个 y1 = 四分之一圆下方的范围,另一个 y2 = 四分之一圆上方的范围。

这是我到目前为止所拥有的:

import numpy as np
import matplotlib.pyplot as plt

x = np.random.random(500)
y1 < np.sqrt(1-x**2)
y2 > np.sqrt(1-x**2)

plt.xlim(0, 1)
plt.ylim(0, 1)

c1 = 'r'
c2 = 'b'
plt.scatter(x, y1, c=c1, cmap=plt.cm.jet)
plt.scatter(x, y2, c=c2, cmap=plt.cm.jet)
plt.axes().set_aspect(1)
plt.show()

这段代码给了我 this plot,当我应该得到 something like this.如果有人能告诉我如何修复 y1 和 y2 值,我将不胜感激。谢谢!

最佳答案

如果你仔细看看

y1 < np.sqrt(1-x**2)
y2 > np.sqrt(1-x**2)

...这两行仅提供 bool 数组。您发布的代码实际上给您一个错误,这清楚地表明您从未保存过 y1 和 y2。

所以你应该:

x = np.random.random(500)
y = np.sqrt(1-np.random.random(500)**2)
x1 = x[y<x]
y1 = y[y<x]
...

PS:已调整,现在x和y不再直接相关,对应评论

关于python - 一定范围内的散点图 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58280383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com