用Python畫函數圓 python怎樣畫圓

Python繪圖之(1)Turtle庫詳解

Turtle庫是Python語言中一個很流行的繪制圖像的函數庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。

成都創新互聯公司是一家專業提供瓦房店企業網站建設,專注與成都做網站、網站設計、成都h5網站建設、小程序制作等業務。10年已為瓦房店眾多企業、政府機構等服務。創新互聯專業網站設計公司優惠進行中。

畫布就是turtle為我們展開用于繪圖區域,我們可以設置它的大小和初始位置。

設置畫布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數分別為畫布的寬(單位像素), 高, 背景顏色。

如:turtle.screensize(800,600, "green")

turtle.screensize() #返回默認大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數:width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2.1 畫筆的狀態

在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一只面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態。

2.2 畫筆的屬性

畫筆(畫筆的屬性,顏色、畫線的寬度等)

1) turtle.pensize():設置畫筆的寬度;

2) turtle.pencolor():沒有參數傳入,返回當前畫筆顏色,傳入參數設置畫筆顏色,可以是字符串如"green", "red",也可以是RGB 3元組。

3) turtle.speed(speed):設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數,數字越大越快。

2.3 繪圖命令

操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令。

(1) 畫筆運動命令

(2) 畫筆控制命令

(3) 全局控制命令

(4) 其他命令

3. 命令詳解

3.1 turtle.circle(radius, extent=None, steps=None)

描述:以給定半徑畫圓

參數:

radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓;

extent(弧度) (optional);

steps (optional) (做半徑為radius的圓的內切正多邊形,多邊形邊數為steps)。

舉例:

circle(50) # 整圓;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圓

實例:

1、太陽花

2、五角星

3、時鐘程序

python編寫圓的面積的程序

根據圓的面積公式和周長公式,導入math庫獲得Π的值(math.pi),利用input函數獲得圓的半徑值,編寫計算公式,利用format()函數指定字符串格式輸出含兩位小數的圓的面積和周長。代碼如下:

主要含義:

將程序設計和數學巧妙地結合起來,從簡單的項目開始,應用Python解決高中和大學低年級的數學問題,比如幾何、概率、統計以及微積分等,為進一步學習更復雜的數學內容以及Python編程語言打下堅實的基礎。

本書也可作為Python初學者的入門讀物,通過學習書中的示例程序和完成那些編程挑戰,讀者可以提高自己的編程能力和技巧。

Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆于1990年代初設計,作為一門叫做ABC語言的替代品。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發應用的編程語言。

用Python畫圖

今天開始琢磨用Python畫圖,沒使用之前是一臉懵的,我使用的開發環境是Pycharm,這個輸出的是一行行命令,這個圖畫在哪里呢?

搜索之后發現,它會彈出一個對話框,然后就開始畫了,比如下圖

第一個常用的庫是Turtle,它是Python語言中一個很流行的繪制圖像的函數庫,這個詞的意思就是烏龜,你可以想象下一個小烏龜在一個x和y軸的平面坐標系里,從原點開始根據指令控制,爬行出來就是繪制的圖形了。

它最常用的指令就是旋轉和移動,比如畫個圓,就是繞著圓心移動;再比如上圖這個怎么畫呢,其實主要就兩個命令:

turtle.forward(200)

turtle.left(170)

第一個命令是移動200個單位并畫出來軌跡

第二個命令是畫筆順時針轉170度,注意此時并沒有移動,只是轉角度

然后呢? 循環重復就畫出來這個圖了

好玩吧。

有需要仔細研究的可以看下這篇文章 ,這個牛人最后用這個庫畫個移動的鐘表,太贊了。

Turtle雖好玩,但是我想要的是我給定數據,然后讓它畫圖,這里就找到另一個常用的畫圖的庫了。

Matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地行制圖。其中,matplotlib的pyplot模塊一般是最常用的,可以方便用戶快速繪制二維圖表。

使用起來也挺簡單,

首先import matplotlib.pyplot as plt?導入畫圖的圖。

然后給定x和y,用這個命令plt.plot(x, y)就能畫圖了,接著用plt.show()就可以把圖形展示出來。

接著就是各種完善,比如加標題,設定x軸和y軸標簽,范圍,顏色,網格等等,在 這篇文章里介紹的很詳細。

現在互聯網的好處就是你需要什么內容,基本上都能搜索出來,而且還是免費的。

我為什么要研究這個呢?當然是為了用,比如我把比特幣的曲線自己畫出來可好?

假設現在有個數據csv文件,一列是日期,另一列是比特幣的價格,那用這個命令畫下:

這兩列數據讀到pandas中,日期為df['time']列,比特幣價格為df['ini'],那我只要使用如下命令

plt.plot(df['time'], df['ini'])

plt.show()

就能得到如下圖:

自己畫的是不是很香,哈哈!

然后呢,我在上篇文章 中介紹過求Ahr999指數,那可不可以也放到這張圖中呢?不就是加一條命令嘛

plt.plot(df['time'], df['Ahr999'])

圖形如下:

但是,Ahr999指數怎么就一條線不動啊,?原來兩個Y軸不一致,顯示出來太怪了,需要用多Y軸,問題來了。

繼續谷歌一下,把第二個Y軸放右邊就行了,不過呢得使用多圖,重新繪制

fig = plt.figure() # 多圖

ax1 = fig.add_subplot(111)

ax1.plot(df['time'], df['ini'], label="BTC price")? #?繪制第一個圖比特幣價格

ax1.set_ylabel('BTC price') #?加上標簽

# 第二個直接對稱就行了

ax2 = ax1.twinx()#?在右邊增加一個Y軸

ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")??#?繪制第二個圖Ahr999指數,紅色

ax2.set_ylim([0, 50])# 設定第二個Y軸范圍

ax2.set_ylabel('ahr999')

plt.grid(color="k", linestyle=":")# 網格

fig.legend(loc="center")#圖例

plt.show()

跑起來看看效果,雖然丑了點,但終于跑通了。

這樣就可以把所有指數都繪制到一張圖中,等等,三個甚至多個Y軸怎么加?這又是一個問題,留給愛思考愛學習的你。

有了自己的數據,建立自己的各個指數,然后再放到圖形界面中,同時針對異常情況再自動進行提醒,比如要抄底了,要賣出了,用程序做出自己的晴雨表。

用python畫一個圓

###################################

# coding=utf-8

# !/usr/bin/env python

# __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()

你可以試試,謝謝。

用python畫一百個同心圓的代碼?

import matplotlib.pyplot as plt

from matplotlib.patches import Circle

# 創建一個圖形對象

fig = plt.figure()

# 循環繪制一百個同心圓

for i in range(100):

# 使用 Circle 類創建圓形,并指定半徑和圓心坐標

circle = Circle(xy=(0, 0), radius=i+1)

# 使用 fig.add_subplot() 方法將圓形添加到圖中

ax = fig.add_subplot(1, 1, 1)

ax.add_patch(circle)

# 調用 plt.show() 方法顯示圖形

plt.show()

本文標題:用Python畫函數圓 python怎樣畫圓
當前地址:http://m.kartarina.com/article44/hgjhhe.html

成都網站建設公司_創新互聯,為您提供響應式網站靜態網站搜索引擎優化外貿網站建設品牌網站建設做網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 亚洲AV无码乱码国产麻豆| 免费看无码特级毛片| 无码人妻AV免费一区二区三区| 亚洲一级Av无码毛片久久精品 | 免费精品无码AV片在线观看| 色综合AV综合无码综合网站| 无码h黄肉3d动漫在线观看| 久久久91人妻无码精品蜜桃HD| 午夜福利无码不卡在线观看 | 成在人线av无码免费高潮水 | 精品欧洲av无码一区二区三区| MM1313亚洲精品无码久久| 无码人妻AⅤ一区二区三区| 亚洲 无码 在线 专区| 69天堂人成无码麻豆免费视频| 亚洲精品无码永久中文字幕| 九九在线中文字幕无码| 一本色道久久综合无码人妻| 亚洲av永久无码制服河南实里| 国产成人无码午夜视频在线观看| 无码区日韩特区永久免费系列| 伊人久久综合精品无码AV专区| 人妻无码久久久久久久久久久| 精品欧洲av无码一区二区| 无码人妻精品中文字幕免费| 亚洲 另类 无码 在线| 久青草无码视频在线观看| 亚洲成av人无码亚洲成av人 | 国产午夜片无码区在线播放| 国产成年无码v片在线| 无码人妻久久一区二区三区免费丨 | 无码人妻一区二区三区一| 人禽无码视频在线观看| 亚洲国产精品无码专区在线观看| 国产午夜无码片免费| 中文字幕无码日韩专区免费| 国产高清无码毛片| 国产精品午夜福利在线无码 | 亚洲av麻豆aⅴ无码电影| 无码人妻一区二区三区兔费| 成人免费a级毛片无码网站入口|