首先需要导入所用到的第三方库

from matplotlib import pyplot as plt
import numpy as np

“”"
给定圆心和半径,画圆
r :半径
x,y:圆心的坐标
“”"

def pint(r,x,y):plt.figure()    # 创建一个空白窗体plt.title('Circle')plt.xlabel('x')plt.ylabel('y')# 点的横坐标为aa = np.arange(x-r,x+r,0.000001)# 点的纵坐标为bb = np.sqrt(np.power(r,2)-np.power((a-x),2))+yplt.plot(a,b,color='r',linestyle='-')plt.plot(a,-b,color='r',linestyle='-')plt.scatter(0,0,c='b',marker='o')plt.grid(True)plt.show()pint(2,0,0)

由圆心和半径确定圆上的每一个点的x的坐标

  a = np.arange(x-r,x+r,0.000001)

即x的范围在圆心坐标的x坐标加减半径内

面向对象编程实例化对象画圆

  class Circle:r = 0 # 半径x,y = (0,0) # 圆心# 构造函数,初始化赋值def __init__(self,r1,m,n):self.r = r1self.x = m self.y = n# 方法,画圆def pint(self):plt.figure()    # 创建一个空白窗体plt.title('Circle')plt.xlabel('x')plt.ylabel('y')# 点的横坐标为aa = np.arange(-2*np.pi,2*np.pi,0.00001)# 点的纵坐标为bb = np.sqrt(np.power(self.r,2)-np.power((a-self.x),2))+self.yplt.plot(a,b,color='r',linestyle='-')plt.plot(a,-b,color='r',linestyle='-')plt.scatter(self.x,self.y,c='b',marker='o')plt.axis([-4,4,-4,4])plt.grid(True)plt.show()r = 2
x,y = (0,0)
y = Circle(r,x,y)   # 实例化一个对象
y.pint()        # 调用该对象的方法进行画圆

此处用的是

a = np.arange(-2*np.pi,2*np.pi,0.00001)
b = np.sqrt(np.power(self.r,2)-np.power((a-self.x),2))+self.y

圆的基本方程为:(x-x0)^2 + (y-y0)^2 =r^2 ,(x0,y0)为圆的圆心
已知x求y,则转换成b变量的式子

还可以用sin和cos来画圆

点的横坐标

a_x = np.arange(0,2*np.pi,0.01)
a = x+r*np.cos(a_x)
b = y+r*np.sin(a_x)
plt.plot(a,b,coloe='r',linestyle='-'
plt.plot(a,-b,color='r',linestyle='-'


想象一下,以该圆的左下角为原点,向右向上画x,y轴,则

x = x0+r*cosα
y = y0+r*sinα

注意

有的时候,坐标轴的横纵坐标尺度不一致,导致圆变的有点椭,可以采用matplotlib中的xlim和ylim来改变坐标轴的刻度

plt.xlim(-4,4)
plt.ylim(-4,4)


但有的时候还是看起来不那么的圆,如有妙招或有误地方欢迎评论,大家一起学习!

matplotlib画圆相关推荐

  1. 如何通过Matplotlib画圆

    前言 前两天因为需要,尝试着用Matplotlib 中的pyplot画圆我画圆的方法是通过圆的方程来画的,另外在图中做了必要的说明.半径为1,圆心为(2,2),方程分为两个,话不多说,直接看代码 画圆 ...

  2. python circle函数如何画圆_Python Matplotlib画圆

    同时需要了解Numpy和Matplotlib相关知识. 看代码吧,仔细了解清楚每句代码,每个函数. # -*- coding:utf-8 -*- #! python3 import numpy as ...

  3. python中画圆的代码_Python使用matplotlib绘制圆形代码实例

    1.定义一个画圆的函数import numpy as np import matplotlib.pyplot as plt def plot_circle(center=(3, 3),r=2): x ...

  4. python画圆简单代码-python实现画圆功能

    本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ __author__= 'Du' ...

  5. 如何用python画圆形的代码-简单实现python画圆功能

    本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下 import numpy as np import matplotlib.pyplot as plt from mat ...

  6. python画饼图-python使用Matplotlib画饼图

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 函数参数 plt.pie(x, explode=None, labels=None, colors=None, a ...

  7. python怎么画多重饼状图_Python通过matplotlib画双层饼图及环形图简单示例

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示 ...

  8. python画气泡图_​用Python把图做的好看点:用Matplotlib画个好看的气泡图

    我们继续来把简单的图形丢到极坐标,这次是气泡图和柱状图,临摹的对象是澎湃美数课 这个图看起来很好看,原理其实很简单,把柱状图和气泡图从笛卡尔坐标系中转移到极坐标系中来就OK 我们开始本次的临摹吧 本期 ...

  9. python画饼图程序_python使用matplotlib画饼状图

    本文实例为大家分享了python使用matplotlib画饼状图的具体代码,供大家参考,具体内容如下 代码与详细注释 from matplotlib import pyplot as plt #调节图 ...

最新文章

  1. 微软:Visual Studio2010能驱动世界
  2. 【修改版】10行代码爬取A股上市公司信息
  3. 遍历排列的实现——VB2005
  4. ORA-01157、01110问题解决
  5. 特斯拉线圈怎么用_无线快充居然是特斯拉发明的?不愧是发明家
  6. 联想服务器远程管理模块,联想慧眼远程管理模块-Lenovo服务网站.PDF
  7. 微机计算机继电保护原理,微机继电保护的装置构成
  8. STM8L101+si4463低功耗和自动唤醒配置
  9. 漏洞分析阶段 PTES
  10. 兔子数列规律怎么讲_兔子数列规律
  11. XXE(外部实体注入)| PortSwigger(burpsuite官方靶场)| Part 3
  12. linux 临时文件夹设置,Linux 系统 tmp 目录的安全设置
  13. python 生成词云
  14. 微信小程序:MD5 加密
  15. Java并发编程 - 第三章 Java内存模型
  16. 网络攻防|CVE-2021-42287、CVE-2021-42278域内提权
  17. pip uninstall numpy:报错
  18. Nico靠接外包,6个月当了老板,这操作绝了...
  19. VB编写简易动态按钮控件
  20. Linux微信1001无标题,微信个性签名1001无标题

热门文章

  1. Verilog消除毛刺
  2. 2019中国科学院、中国工程院院士增选名单正式发布
  3. FPGA结构分析——IDELAY2,网口储备点3
  4. CentOS7系统安装参考
  5. VNC实现Windows远程访问Ubuntu 16.04(转)
  6. Farmer John 木瓜地 C++
  7. Redis(设计与实现):28---事件之文件事件(AE_READABLE事件、AE_WRITABLE事件)
  8. [网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
  9. reg query报错系统找不到指定的注册表项或值。
  10. wifi计费认证系统php,TP-LINK认证计费系统 - TP-LINK官方网站