⑴ 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點)開始各截一次,得到其他三點,把這些點依次連結起來,即得近似的正七邊形. 這種畫法適用畫圓內接任意正多邊形.