python - 使用 matplotlib fill_between 在两条极坐标曲线之间填充

标签 python matplotlib

我有一种感觉,我要用这个来敲我的额头,但我正在尝试填充两个极函数的公共(public)内部 r = 4 sin(2θ )r = 2。看来我得到的与我想要的相反。有什么想法吗?

import numpy as np
import matplotlib.pyplot as plt

theta = np.arange(0, 2, 1./180)*np.pi
r = abs(4*np.sin(2*theta))
r2 = 2 + 0*theta

plt.polar(theta, r, lw=3)
plt.polar(theta, r2, lw=3)
plt.fill_between(theta, r, r2, alpha=0.2)
plt.show()

Polar Plot

最佳答案

也许计算 r 和 r2 的最小值,然后在 0 和最小值之间填充:

import numpy as np
import matplotlib.pyplot as plt

theta = np.arange(0, 2, 1./180)*np.pi
r = abs(4*np.sin(2*theta))
r2 = 2 + 0*theta
r3 = np.minimum(r, r2)
plt.polar(theta, r, lw=3)
plt.polar(theta, r2, lw=3)
plt.fill_between(theta, 0, r3, alpha=0.2)
plt.show()

enter image description here

关于python - 使用 matplotlib fill_between 在两条极坐标曲线之间填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229826/

相关文章:

python - 如何在 python 中将 3D 函数绘制为 2D 颜色图?

python - 无法使用 bs4 收集 div 内的 href

python - Pandas 数据框中列中最接近的不相等行

Python 套接字实现

python - 我可以在同一个子图中绘制 pandas.DataFrame 和函数或数组中的法线吗?

python - 根据特定日期设置 matplotlib 网格刻度

python - 导入多数组 Numpy 扩展模块失败 Visual Studio 2019 Anaconda 1.9.6 Python 3.7.1

python - 如何为从 matplotlib 导出的 PDF 获得正确的图形大小和字体大小?

python-3.x - 无法使seaborn fiddle 图水平[Python3.X]

python - 如何在 Google Colab 中缓存 Python 变量