㈠ 用python畫圖
今天開始琢磨用Python畫圖,沒使用之前是一臉懵的,我使用的開發環境是Pycharm,這個輸出的是一行行命令,這個圖畫在哪裡呢?
搜索之後發現,它會彈出一個對話框,然後就開始畫了,比如下圖
第一個常用的庫是Turtle,它是Python語言中一個很流行的繪制圖像的函數庫,這個詞的意思就是烏龜,你可以想像下一個小烏龜在一個x和y軸的平面坐標系裡,從原點開始根據指令控制,爬行出來就是繪制的圖形了。
它最常用的指令就是旋轉和移動,比如畫個圓,就是繞著圓心移動;再比如上圖這個怎麼畫呢,其實主要就兩個命令:
turtle.forward(200)
turtle.left(170)
第一個命令是移動200個單位並畫出來軌跡
第二個命令是畫筆順時針轉170度,注意此時並沒有移動,只是轉角度
然後呢? 循環重復就畫出來這個圖了
好玩吧。
有需要仔細研究的可以看下這篇文章 https://blog.csdn.net/zengxiantao1994/article/details/76588580 ,這個牛人最後用這個庫畫個移動的鍾表,太贊了。
Turtle雖好玩,但是我想要的是我給定數據,然後讓它畫圖,這里就找到另一個常用的畫圖的庫了。
Matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合互動式地行制圖。其中,matplotlib的pyplot模塊一般是最常用的,可以方便用戶快速繪制二維圖表。
使用起來也挺簡單,
首先import matplotlib.pyplot as plt 導入畫圖的圖。
然後給定x和y,用這個命令plt.plot(x, y)就能畫圖了,接著用plt.show()就可以把圖形展示出來。
接著就是各種完善,比如加標題,設定x軸和y軸標簽,范圍,顏色,網格等等,在 https://blog.csdn.net/guoziqing506/article/details/78975150 這篇文章里介紹的很詳細。
現在互聯網的好處就是你需要什麼內容,基本上都能搜索出來,而且還是免費的。
我為什麼要研究這個呢?當然是為了用,比如我把比特幣的曲線自己畫出來可好?
假設現在有個數據csv文件,一列是日期,另一列是比特幣的價格,那用這個命令畫下:
這兩列數據讀到pandas中,日期為df['time']列,比特幣價格為df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下圖:
自己畫的是不是很香,哈哈!
然後呢,我在上篇文章 https://www.jianshu.com/p/d4013d8a73de 中介紹過求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中circle函數如何畫交叉三環
根據圓心位置及半徑畫。
半徑為正時,圓心在畫筆左邊,半徑為負時,圓心在畫筆右邊,圓心在畫筆所在方向切線的垂直方向上。
畫筆朝向逆時針方向,背向順時針方向倒退畫圓弧,即可得到。
㈢ python函數圖的繪制
<pre>
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return -(x-2)*(x-8)+40
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
plt.ylim(ymin=20)
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
poly = Polygon(verts,facecolor='0.9',edgecolor='納滲0.5')
ax.add_patch(poly)
x_math=(a+b)*0.5
y_math=35
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8)+40)dx$",horizontalalignment='center'碧猛,size=12)
plt.show()
<悔茄橋/pre>
㈣ python turtle繪圖教程
python turtle繪圖教程如下:
1、使用海龜繪圖首先我們需要導入turtle。
畫布就是turtle展開用於繪圖區域,可以設置它的大小和初始位置。
turtle.screensize(canvwidth=None,canvheight=None,bg=None),參數分別為畫布的寬(單位像素),高,背景顏色。
在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一隻面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位搏隱置),面朝x軸正方向(方向),turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態。
㈤ python之pyplot
1、 定義x和y,畫圖展示,保存圖片
其中dpi參數指定圖像的解析度為120
2、 優化繪圖線條風格
線條顏色color
線條標記marker
線條風格linestyle
3、 坐標軸的控制
坐標軸范圍和標題
坐標圖上標記
坐標間隔設定
函數plt.xticks()和plt.xticks()用來實現對x軸和y軸坐標間隔(也就是軸雀兆記號)的設定。用法上,函蠢蔽數的輸入是兩個列表,第一個表示取值,第二個表示標記。當然如果你的標記就是取值本身,則第二個列表可以忽略
多圖與子圖
figure() 函數可以幫助我們同時處理生成多個圖,而subplot()函數則用來實現,在一個大圖中,出現多個小的子圖。需要注意的是, figure() 中的參數為圖片序號,一般是按序增加的,這裡面還涉及一個當前圖的概念,其中 subplot() 的參數有3個,分別為行數、列數、以及子圖序號。比如 subplot(1,2,1) 表示這是一個1行,2列布局的圖(兩個子圖,在同一行,分居左右),其中,當前處理的子圖是第一個圖(也就是左頃檔租圖)。
這樣,我們就用一個腳本畫了兩張圖fig.1和fig.2。其中,fig.1包含了分居左右的兩個子圖,分別是y1和y3的曲線;fig.2是一張整圖,畫的是y2曲線。
如果想要某個子圖占據整行或者整列,可以採用下面
第三個圖,實際上相當於將前面的兩個小的子圖看作是一個整圖
㈥ python里circle(40,80/2)是什麼意思
在Python中,circle()函數是一個圖形庫Turtle中的函數,用於繪制圓形。circle()函數的語法格式如下:
Copy code
circle(radius, extent=None, steps=None)
在這個函數中,radius參數用於指定圓的半徑大小,extent參數用於指定我們要繪制圓形的弧度大小,如果省略,則默認繪制360度的圓。steps參數是用於指定生成圓形的離散段數的(離散程度),如果省略,則默認為30。
因此,circle(40, 80/2)中的40指定圓的半徑大小,80/2指定隱圓繪制圓的角度大小為80度,也就是繪制圓形上的一個弧。
如果還要在Python代碼中使用circle()函數,請確保安裝了Turtle庫。例如,在一個新窗口中打開並繪制一個圓形,可以使用以下代碼:
Copy code
import turtle
t = turtle.Turtle()
t.circle(40)
turtle.done()
這個程序使用Turtle庫創建了一個Turtle圖形並繪制了一灶輪塌個半徑為40像素的圓形,然桐如後使用
㈦ Python如何畫函數的曲線
輸入以下代碼導入我們用到的函數庫。
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x=np.arange(0,5,0.1);
>>> y=np.sin(x);
plt.plot(x,y)
採用剛才代碼後有可能無法顯示下圖,然後在輸入以下代碼就可以了:
plt.show()
㈧ 為什麼用python畫圖總是偏右畫
python沿畫筆的方向畫線用forward()函數。
forward()函數能使畫筆前進,比如沿畫筆方向畫100像素的直線,代碼如下所示:turtle.forward(100)。
㈨ python Turtle如何繪制任意弧度的曲線
要畫弧線自然需要用到正餘弦函數
㈩ python中turtle庫的函數用法
1、turtle.title()//繪圖框標題;2、turtle.setup(width,height,startx,starty)//起始點坐標:左上角相對於屏幕的坐標,默認在屏幕中央;3、turtle.goto(x,y)//將海龜走到該坐標位置//絕對坐標;4、turtle.bk(d)//海龜後退//海龜坐標;5、turtle.fd(d)//海龜前進;6、turtle.circle(r,angle)//海龜左側某一點為圓心曲線運行;7、turtle.seth(angle)//海龜轉向,絕對坐標;8、turtle.left(angle)左轉;9、turtle.right(angle)右轉悄或;10、penup()抬起畫筆;11、pendown()落下畫筆;12、pencolor()筆的顏色。
Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆於1990年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能山侍簡單有效地面向對象編逗運吵程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
Turtle是python內置的圖形化模塊,可以用來繪制線條、圓、文本等圖形。