Python 如何绘制圆

http://blog.csdn.net/pipisorry/article/details/40005163

1. 调用包函数绘制圆形Circle和椭圆Ellipse

###################################
#   !/usr/bin/env python
#   coding=utf-8
#   __author__ = 'pipi'
#   ctime 2014.10.11
#   绘制椭圆和圆形
###################################
from matplotlib.patches import Ellipse, Circle
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

ell1 = Ellipse(xy = (0.0, 0.0), width = 4, height = 8, angle = 30.0, facecolor= 'yellow', alpha=0.3)
cir1 = Circle(xy = (0.0, 0.0), radius=2, alpha=0.5)
ax.add_patch(ell1)
ax.add_patch(cir1)

x, y = 0, 0
ax.plot(x, y, 'ro')

plt.axis('scaled')
# ax.set_xlim(-4, 4)
# ax.set_ylim(-4, 4)
plt.axis('equal')   #changes limits of x or y axis so that equal increments of x and y have the same length

plt.show()

参见Matplotlib.pdf Release 1.3.1文档

p187

18.7 Ellipses (see arc)

p631

class matplotlib.patches.Ellipse(xy, width, height, angle=0.0, **kwargs)

Bases: matplotlib.patches.Patch

A scale-free ellipse.

xy center of ellipse

width total length (diameter) of horizontal axis

height total length (diameter) of vertical axis

angle rotation in degrees (anti-clockwise)

p626

class matplotlib.patches.Circle(xy, radius=5, **kwargs)

或者参见Matplotlib.pdf Release 1.3.1文档contour绘制圆

#coding=utf-8
import numpy as np
import matplotlib.pyplot as plt

x = y = np.arange(-4, 4, 0.1)
x, y = np.meshgrid(x,y)
plt.contour(x, y, x**2 + y**2, [9])     #x**2 + y**2 = 9 的圆形

plt.axis('scaled')
plt.show()

p478

Axes3D.contour(X, Y, Z, *args, **kwargs)

Create a 3D contour plot.

Argument Description

X, Y, Data values as numpy.arrays

Z

extend3d

stride

zdir

offset

Whether to extend contour in 3D (default: False)

Stride (step size) for extending contour

The direction to use: x, y or z (default)

If specified plot a projection of the contour lines on this position in plane normal to zdir

The positional and other

p1025

matplotlib.pyplot.axis(*v, **kwargs)

Convenience method to get or set axis properties.

或者参见demo

pylab_examples example code: ellipse_demo.py

2. 直接绘制

from:http://blog.csdn.net/pipisorry/article/details/40005163

ref:http://www.zhihu.com/question/25273956/answer/30466961?group_id=897309766#comment-61590570

时间: 2024-10-12 04:46:33

Python 如何绘制圆的相关文章

C# Graphic 绘制圆、三角形、椭圆、图片

原文:C# Graphic 绘制圆.三角形.椭圆.图片 在form和panel上可以绘制图形,线段,圆,文字,图形等等. 绘制代码必须放在OnPaint()函数里面,因为窗体刷新的时候,都会调用该函数,重新刷新所绘的图. 示例代码在Panel上绘制图形来简单的描述下绘线和绘图原理. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System

canvas绘制圆

canvas绘制圆: <!doctype html> <html> <head> <meta charset="utf-8"> <title>canvas绘制圆</title> <style> canvas{border:1px solid black;} </style> <script> window.onload=function(){ var ctx=document.g

canvas二:绘制圆和其他曲线

1.绘制圆 绘制圆是canvas里面不可缺少的功课,而且绘制圆在canvas中的用处很多,好嘞,开扯 绘制圆需要用到arc这个方法: arc(X坐标,Y坐标,半径,起始弧度,结束弧度,旋转方向): 弧度与角度的关系:弧度 = 角度*Math.PI/180: 旋转方向:true(逆时针),false(顺时针),默认为顺时针: 实例:我想画一个半圆,先里一下思路,首先我们需要一个区域,也就是绘制路径,即beginPath, 然后我们再需要定义一个开始的绘制点,即moveTo,之后在进行绘圆操作,那么

Python + Matplotlib 绘制 Penrose 铺砌

效果是不是很漂亮呢? 代码如下: #----------------------------------------- # Python + Matplotlib 绘制 Penrose 铺砌 # by Zhao Liang [email protected] #----------------------------------------- import matplotlib.pyplot as plt import numpy as np from matplotlib.path impor

canvas绘制圆和弧(三)

利用context的方法,进行圆和弧的绘制 context.arc(x,y,radius,startingAngle,endingAngle,anticlockwise); x,y:表示圆心坐标 radius:圆的半径 startingAngle:绘制圆弧的起始位置(弧度制,比如0,0.5*Math.PI.....) endingAngle:绘制圆弧的终止位置 anticlockwise:false和true,true表示逆时针,false表示顺时针.不写默认false 和绘制直线一样,你可以把

Python + Matplotlib 绘制 Aztec Diamond 图的随机铺砌

一个 $n$ 阶的 Aztec Diamond 图,是指依次将 $2,4,\ldots,2n,2n,\ldots,4,2$ 个单位方格摞在一起得到的对称图形(于是图中一共有 $2n(n+1)$ 个单位方格).下图是 $n=5$ 时候的例子: 对一个 $n$ 阶的 Aztec Diamond 图,用 $1\times 2$ 的多米诺骨牌铺砌它,总共有 $2^{n(n+1)}$ 种不同的方法.(这里不考虑对称性,比如全部用水平的骨牌铺砌和全部用竖直的骨牌铺砌,两种方法是不同的) 一个有趣的问题是,对

python+matplotlib 绘制等高线

python+matplotlib 绘制等高线 步骤有七: 有一个m*n维的矩阵(data),其元素的值代表高度 构造两个向量:x(1*n)和y(1*m).这两个向量用来构造网格坐标矩阵(网格坐标矩阵m*n维,可见与data同) 构造网格坐标矩阵X,Y 进行颜色填充 画等高线 等高线的描述 删掉坐标系 1. 构造一下高度矩阵: def f(x,y): """ 计算高度的函数 :param x: 向量 :param y: 向量 :return: dim(x)*dim(y)维的矩

Unity3D之Mesh(五)绘制圆

前言: Unity3D中Mesh的基本单位是三角形,而圆形就是由许许多多的三角形组成的.那么我们就知道了绘制圆形的Mesh需要两个变量:圆的半径  以及分割数: 一.实现过程 基本过程与之前的类似,最基本的依然是顶点以及三角形索引数组,即:我们需要根据圆的半径以及预备的分割数,通过算法得到:顶点的Vector3数组 以及对应的三角形索引数组: 1.基本的程序实现架构如下: using UnityEngine; [RequireComponent(typeof(MeshRenderer), typ

Python图表绘制:matplotlib绘图库入门

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. 在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高.