python之matplotlib (8 极坐标)-圆与心

极坐标

极坐标图像的绘制类似于三维图像的绘制,只需要将projection参数由3d改为polar即可。

python 复制代码
import numpy as np  
import matplotlib.pyplot as plt  
  

fig=plt.figure()
ax=fig.add_subplot(projection='polar')
  
theta = np.linspace(0, 2 * np.pi, 100)  
r = np.sin(theta)  
  
ax.plot(theta, -r)  
  

ax.set_title(r'$\rho=-\sin(\theta)$')  
ax.set_xlabel('θ')  
ax.set_ylabel(r'$\rho$')  

# 显示图形  
plt.show()

太神奇了!!我实在没有想到!

先问大家一个问题,ρ=-sin(θ)画出来是什么图形?

我:废话,肯定是圆啊?(仔细一看图)怀疑了一下自我?嗯?怎么回事?

那大家知道为什么会是一个爱心吗?

仔细一看原来中心不是0。哦,原来如此,数学真是太神奇了。我只能说我还是略胜笛卡尔一筹(一会你会尴尬的),哈哈!!简简单单的圆即可,何必煞费苦心呢?话不多说,直接改为我的头像。

但是事情真的就这么简单吗?我仔细想了想,发现这是大惊小怪了,只不过之前从前没从这个角度想过如此。

我们知道笛卡尔爱心曲线是:

那么它的极坐标形式为:

熟悉不?这不就比-sinθ多了个1吗,那移一下坐标轴不就行了吗?何必大惊小怪呢?哎,我还是不要和笛卡尔比肩了。哈哈。本来我想给这个文章标题名为《利用极坐标化圆为心》,现在还是算了吧。

好了,回归正题。画极坐标时我们只需要在add_subplot中将projection参数改为'polar'即可。其他的照猫画虎即可。

创作不易,还请大家多多支持。如有错误,还请不吝赐教。

相关推荐
玄同7654 分钟前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding
Yorlen_Zhang14 分钟前
Python Tkinter Text 控件完全指南:从基础编辑器到富文本应用
开发语言·python·c#
lxl130715 分钟前
C++算法(1)双指针
开发语言·c++
不绝19127 分钟前
C#进阶:预处理指令/反射,Gettype,Typeof/关键类
开发语言·c#
无小道32 分钟前
Qt-qrc机制简单介绍
开发语言·qt
zhooyu39 分钟前
C++和OpenGL手搓3D游戏编程(20160207进展和效果)
开发语言·c++·游戏·3d·opengl
HAPPY酷42 分钟前
C++ 和 Python 的“容器”对决:从万金油到核武器
开发语言·c++·python
大鹏说大话42 分钟前
告别 MSBuild 脚本混乱:用 C# 和 Nuke 构建清晰、可维护的现代化构建系统
开发语言·c#
Mr_sun.1 小时前
Day09——入退管理-入住-2
android·java·开发语言
MAGICIAN...1 小时前
【java-软件设计原则】
java·开发语言