⑴ python matplotlib 怎么多边形形
python matplotlib 怎么多边形形
y轴默认会有数值,你是需要自定义吗
可以使用yticks函数,第一个参数是y轴的位置,第二个参数是具体标签
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,6)
y = x * x
plt.plot(x, y, marker='o')
plt.yticks(y, ['a','b','c','d','e','f'])
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,6)
y = x * x
plt.plot(x, y, marker='o')
for xy in zip(x,y):
plt.annotate("(%s,%s)" % xy, xy=xy, xytext=(-20,10), textcoords = 'offset points')
⑵ 使用python创建arcgis中的带环多边形要素。
将单部分多边形要素的起始点只设置为最右且Y值最大的点
def changeStartPoint(fc):
points = [point for point in fc.getPart(0)]
if len(points)!= 2:
#计算多边形最右边且Y值最大的点在Points中索引
index_RightupperPoint = getRightupperPoint(fc)[1]
#计算更改了起始点的多边形要素的newpoints
newpoints =[]
newpoints.extend(points[index_RightupperPoint:-1])
newpoints.extend(points[:index_RightupperPoint+1])
#创建新要素
newPolygon = arcpy.Polygon(arcpy.Array(newpoints))
return newPolygon
#len(points) ==2为圆、椭圆
else:
return fc
⑶ 总结用python绘制正多边形的规律
如果能够找到规律,可以让代码变得更简单。上述代码中其实就是调用circle()函数四次,每次传入参数不同而已。
我们可以加入循环,循环就是重复不停地做相同的事情;再找到循环变量和画圆参数之间的规律即可。
第一个圆的半径为50,每次按15的节奏递减,直到绘制完半径为5的圆。这样就可以使用range()函数,传入如下参数:range(50,0,-15)。
或者由小到大绘制,传入这样的参数也可以:range(5,51,15)。
还可以这样:循环四次,循环变量i依次为0、1、2、3,再在绘制圆的过程中构造递减的表达式:100/2-i*15。
分析这个表达式,当i等于0时,结果为50,绘制半径为50的圆;当i等于1时,结果为35,绘制半径为35的圆……正好符合题目要求的参数值。
【扩展】思考如何绘制以坐标原点为中心的同心圆呢?
仔细观察画笔绘制圆的轨迹,可发现:默认小海龟从坐标原点出发,逆时针旋转一圈画圆;然后,再回到起始点。
所以,绘制同心圆。我们需要将画笔向下移动一定的距离,即改变y的坐标,x坐标保持不变为0。参考代码如下:
循环体内,每次需要抬笔和落笔功能。
02
案例二:绘制一个正多边形
绘制正多边形有这样一个结论:用360°去除以绘制的边数,即可得到旋转角度。
比如:正三角形的旋转角度(360/3=120°)、正四边形的旋转角度(360/4=90°)、正八边形的旋转角度(360/8=45°)。其他以此类推。
那么,我们要绘制一个正八边形呢?
使用循环结构,循环八次。每次前移一定距离,再旋转(360/边数)的角度,这里旋转的就是45°角。参考代码如下:
有了这样的结论,其他的正多边形都可以信手拈来,小菜一碟了。只需要稍微改几个参数即可。
03
案例三:绘制由多种颜色组成的正螺旋线
比如,这样的图形:
这是由八种颜色组成的正八边形螺旋线结构图,颜色依次为:红(red)、绿(green)、蓝(blue)、黄(yellow)、紫(purple)、橙(orange)、黑(black)、粉(pink)等八种。
绘制思路:
首先,需要创建一个颜色列表list,含有八种颜色元素。
第二,前移一定距离,这个距离值是由小到大逐级递增的过程。
第三,旋转一定角度,可参照案例二的结论。
最后,考虑画笔的颜色,每8次(边数)为一个周期循环颜色列表。
参考代码如下:
其他的正螺旋线,也是如此规律。
【扩展】如果是有一定旋转角度的螺旋线呢?比如,这样的图形:
解题思路:只需要在正螺旋线的基础上,让旋转角度多偏移1-2°即可。修改上述案例中最后一行的代码:
⑷ python绘图小结(2)
#例题1绘制一个四叶草
import turtle
turtle.color("green","green")
turtle.setheading(90)
turtle.begin_fill()
for i in range(4):
turtle.circle(-100,180)
turtle.left(90)
turtle.end_fill()
turtle.done()
#例题2绘制一个四角星
import turtle
turtle.color("yellow"配哪,"yellow")
turtle.begin_fill()
for i in range(4):
turtle.circle(100,90)
turtle.right(180)
turtle.end_fill()
turtle.done()
#例题3绘制一个四叶花瓣
import turtle
turtle.color("pink"饥宴,"pink")
turtle.begin_fill()
turtle.circle(-100,90)
turtle.right(90)
turtle.circle(-100,90)
turtle.circle(100, 90)
turtle.right(90)
turtle.circle(-100, -90)
turtle.right(90)
turtle.circle(-100, 90)
turtle.right(90)
turtle.circle(-100, 90)
turtle.circle(100, 90)
turtle.right(90)
turtle.circle(-100, -90)
turtle.end_fill()
turtle.done()
#例题4输入一个数字,绘制以该数字为烂卖银边数的正多边形
import turtle
a=int(turtle.textinput("绘制正多边形","请输入边数:"))
turtle.circle(100,360,a)
turtle.done()
⑸ 关于Python基础编程!!
import turtle
import math
def Circumscribed_Regular_polygon(x,y,z,n):
# 画出外接圆的正多边形
# x,y 为圆心坐标
# z 为圆的半径
# n为正多边形的边数
turtle.pensize(3)
turtle.pencolor("red")
turtle.up()
turtle.goto(x,y)
turtle.down()
turtle.goto(x,y)
turtle.up()
turtle.goto(x,y-z)
turtle.down()
turtle.pensize(1)
turtle.circle(z)
theta = 360 / n
length = 2 * z * math.sin(math.pi * theta / 360)
print(length)
turtle.left(theta/2)
for i in range(n):
turtle.forward(length)
turtle.left(theta)
turtle.hideturtle()
turtle.done()
Circumscribed_Regular_polygon(0,0,100,7)
运行结果如图所示
⑹ python如何实现计算多边形面积
python要实现计算凸多边形面积,应该按顺序读入每一个点的坐标。然后它划分成若干个相邻的三角形,再分别计算每一个三角形的面积。最后把所有三角形面积的总和,累加起来就是所求的答案。
⑺ 怎样用python画图
思路:
1. 确定好需要画的图。
2. 创建一个画布,用来画你需要的图。
(1)画布大小,可以使用默认大小,也可以自定义画布大小。
(2)画布背景色bgcolor()。
(3)确定起点位置。
3. 画笔的设置。
(1)画笔的大小,颜色。
(2)画笔运行属性。
二、定义画布参数
importturtleast
t.screensize(width=None,heigh=None,bg=None)#以像素为单位,参数分别为画布的宽,高,背景色
t.screensize()#返回默认大小(400,300)
t.Screen()#也是表示默认画布大小,注意S大写
t.setup(w=0.5,h=0.75,startx=None,starty=None)#w,h为整数是表示像素,为小数时表示占据电脑屏幕的比例
#startx,starty坐标表示矩形窗口左上角顶点的位置,默认为屏幕中心位置
三、定义画笔
1、画笔的状态
在画布上默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。
2、画笔的属性
画笔(画笔的属性,颜色、画线的宽度)
(1)turtle.pensize():设置画笔的宽度;
(2)turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green","red",也可以是RGB 3元组;
>>>pencolor('brown')
>>>tup=(0.2,0.8,0.55)
>>>pencolor(tup)
>>>pencolor()
'#33cc8c'
(3)turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。
相关推荐:《Python入门教程》
3、绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。
(1)画笔运动命令:
(3)全局控制命令:
四、命令详解
turtle.circle(radius,extent=None,steps=None)
描述:以给定半径画圆
参数:
radius(半径);半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps);
举例:
circle(50)#整圆;
circle(50,steps=3)#三角形;
circle(120,180)#半圆
五、绘图举例
(1)菱形太阳花
importturtleast#turtle库是python的内部库,直接import使用即可
defdraw_diamond(turt):
foriinrange(1,3):
turt.forward(100)#向前走100步
希望我的回答对你有帮助
⑻ Python语言程序设计(六)
1.(几何学:一个五边形的面积)编写一个程序,提示用户输入五边形顶点到中心距离r,然后算出五边形的面积,如下图所示。
计算五边形面积的公式是Area = 5×s×s/(4×tan(π/5)),这里的s是边长。边长的计算公式是 s =2rsin(π/5),这里的r是顶点到中心距离。
2.(几何学:大圆距离)大圆距离是球面上两点之间的距离。假设(x1,y1)和(x2,y2)是两点的经度和纬度,两点之间大圆距离可以利用以下公式计算:
d = radius * arccos(sin(x1) × sin(x2) × cos(x1) × cos(x2) × cos(y2-y1))
编写一个程序,提示用户输入地球表面两点经度和纬度的度数然后显示它们的大圆距离。地球的平均半径为6371.01km。注意:你需要使用math. radians函数将度数转化为弧度数,因为Python三角函数使用的是弧度。公式中的经纬度是西经和北纬。用负数表示东经和南纬。
3.(几何学:估算面积)从网站找到佐治亚州亚特兰大、佛罗里达州奥兰多、大草原佐治亚、北卡罗来纳州夏洛特的GPS位置,然后计算出这四个城市所围成的区域的大概面积。
4.(几何学:五角形的面积)五角形的面积可以使用下面的公式计算(s是边长)
Area = (5×s²)/ (4×tan(π/5))
编写一个程序,提示用户输入五边形的边长,然后显示面积。
5.(几何学:一个正多边形的面积)正多边形是边长相等的多边形吗,而且所有的角都相等。计算正多边形面积的公式是:
Area = (n × s²)/(4×tan(π/n))
这里的s是边长。编写一个程序,提示用户输入边数以及正多边形的边长,然后显示他们的面积。
6.(找出ASCII码的字符)编写一个程序,接收一个ASCII码值(一个0~127之间的整数),然后显示它对应的字符。例如:如果用户输入97,程序将显示字符a。
7.(随机字符)编写一个程序,使用time.time()函数显示一个大写的随机字符。
9.(金融应用程序:工资表)编写一个程序,读取下面的信息,然后打印一个工资报表。
雇员姓名(例如:史密斯)
一周工作时间(例如:10)
每小时酬报(例如:9.75)
联邦预扣税率(例如:20%)
州预扣税率(例如:9%)
10.(Turtle显示统一码)编写一个程序,显示希腊字母。αβγδεζηθ
11.(反向数字)编写一个程序,提示用户输入一个四位整数,然后显示颠倒各位数字后的数。
⑼ 在python中turtle绘制正七边形
① 以定长R为半径作圆,并过圆心O作互相垂直的纵横两条直径MN、HP. ② 过N点任作一射线NS,用圆规取七等分,把端点T与M连结起来,然后过NT上的各点推出MT的平行线,把MN七等分. ③以 M为圆心,MN为半径画弧,和PH的延长线相交于K点,从K向MN上各分点中的偶数点或奇数点(图中是 1、3、5、7各点)引射线,与交于A、B、C、M.再分别以 AB、BC、CM为边长,在圆周上从A点(或M点)开始各截一次,得到其他三点,把这些点依次连结起来,即得近似的正七边形. 这种画法适用画圆内接任意正多边形.