带有圆圈的散点图

问题描述

我打算在同一个图中用一条单位圆线绘制一个包含 5000 个数据点的散点图,但我现在的代码显示一个非常小的图,里面有大点。我试图扩大这个情节大小,但 plt.figure(figsize=(12,12)) 不起作用......想知道我做错了什么?

import numpy as np
import scipy.stats
import matplotlib.pyplot as plt


x=scipy.stats.uniform.rvs(loc=-1,scale=2,size=5000)
y=scipy.stats.uniform.rvs(loc=-1,size=5000)
a=np.cos(np.linspace(0,2*np.pi,200))
b=np.sin(np.linspace(0,200))


plt.scatter(x,y)
plt.plot(a,b,color="red")
plt.figure(figsize=(12,12))
plt.show()

解决方法

methods: { search: nasa } 创建一个新的空图。你应该在其他绘图函数之前调用它

您可以设置较小的点大小,例如 plt.figure()。要强制圆形显示为圆形,请设置相等的纵横比 (plt.scatter(x,y,s=1))。

set_aspect('equal')

example plot

要在创建绘图后更改 import numpy as np import scipy.stats import matplotlib.pyplot as plt x = scipy.stats.uniform.rvs(loc=-1,scale=2,size=5000) y = scipy.stats.uniform.rvs(loc=-1,size=5000) a = np.cos(np.linspace(0,2 * np.pi,200)) b = np.sin(np.linspace(0,200)) plt.figure(figsize=(12,12)) plt.scatter(x,s=1) plt.plot(a,b,color="red") plt.gca().set_aspect('equal') plt.show() ,您可以使用:

figsize

Matplotlib 还提供了创建圆的函数。以下是设置半透明 fig = matplotlib.pyplot.gcf() fig.set_size_inches(15,15) 的示例:

facecolor

using plt.Circle