導航:首頁 > 編程語言 > python用for畫畫教程

python用for畫畫教程

發布時間:2023-03-12 04:51:39

⑴ 請問怎麼用python畫出這樣的圖

#encoding:utf-8
#Python3.9.0
#turtle畫出不同顏色的同心環/同心圓
importturtle
pen=turtle.Turtle()
n=100
colors=['#0000FF','#FF0000','#FFD700','#008000','#800080']
foriinrange(5):
pen.fillcolor(colors[i])
pen.begin_fill()
pen.penup()
pen.goto(0,20*(i+1))
pen.pendown()
pen.circle(n-i*20)
pen.end_fill()
turtle.done()

⑵ Python實操:手把手教你用Matplotlib把數據畫出來

作者:邁克爾·貝耶勒(Michael Beyeler)

如需轉載請聯系華章 科技

如果已安裝Anaconda Python版本,就已經安裝好了可以使用的 Matplotlib。否則,可能要訪問官網並從中獲取安裝說明:

http://matplotlib.org

正如使用np作為 NumPy 的縮寫,我們將使用一些標準的縮寫來表示 Matplotlib 的引入:

在本書中,plt介面會被頻繁使用。

讓我們創建第一個繪圖。

假設想要畫出正弦函數sin(x)的線性圖。得到函數在x坐標軸上0≤x<10內所有點的值。我們將使用 NumPy 中的 linspace 函數來在x坐標軸上創建一個從0到10的線性空間,以及100個采樣點:

可以使用 NumPy 中的sin函數得到所有x點的值,並通過調用plt中的plot函數把結果畫出來:

你親自嘗試了嗎?發生了什麼嗎?有沒有什麼東西出現?

實際情況是,取決於你在哪裡運行腳本,可能無法看到任何東西。有下面幾種可能性:

1. 從.py腳本中繪圖

如果從一個腳本中運行 Matplotlib,需要加上下面的這行調用:

在腳本末尾調用這個函數,你的繪圖就會出現!

2. 從 IPython shell 中繪圖

這實際上是互動式地執行Matplotlib最方便的方式。為了讓繪圖出現,需要在啟動 IPython 後使用所謂的%matplotlib魔法命令

接下來,無須每次調用plt.show()函數,所有的繪圖將會自動出現。

3. 從 Jupyter Notebook 中繪圖

如果你是從基於瀏覽器的 Jupyter Notebook 中看這段代碼,需要使用同樣的%matplotlib魔法命令。然而,也可以直接在notebook中嵌入圖形,這會有兩種輸出選項:

在本書中,將會使用inline選項:

現在再次嘗試一下:

上面的命令會得到下面的繪圖輸出結果:

如果想要把繪圖保存下來留作以後使用,可以直接在 IPython 或者 Jupyter Notebook 使用下面的命令保存:

僅需要確保你使用了支持的文件後綴,比如.jpg、.png、.tif、.svg、.eps或者.pdf

作為本章最後一個測試,讓我們對外部數據集進行可視化,比如scikit-learn中的數字數據集。

為此,需要三個可視化工具:

那麼開始引入這些包吧:

第一步是載入實際數據:

如果沒記錯的話,digits應該有兩個不同的數據域:data域包含了真正的圖像數據,target域包含了圖像的標簽。相對於相信我們的記憶,我們還是應該對digits稍加 探索 。輸入它的名字,添加一個點號,然後按Tab鍵:digits.<TAB>,這個操作將向我們展示digits也包含了一些其他的域,比如一個名為images的域。images和data這兩個域,似乎簡單從形狀上就可以區分。

兩種情況中,第一維對應的都是數據集中的圖像數量。然而,data中所有像素都在一個大的向量中排列,而images保留了各個圖像8×8的空間排列。

因此,如果想要繪制出一副單獨的圖像,使用images將更加合適。首先,使用NumPy的數組切片從數據集中獲取一幅圖像:

這里是從1797個元素的數組中獲取了它的第一行數據,這行數據對應的是8×8=64個像素。下面就可以使用plt中的imshow函數來繪制這幅圖像:

上面的命令得到下面的輸出:

此外,這里也使用cmap參數指定了一個顏色映射。默認情況下,Matplotlib 使用MATLAB默認的顏色映射jet。然而,在灰度圖像的情況下,gray顏色映射更有效。

最後,可以使用plt的subplot函數繪制全部數字的樣例。subplot函數與MATLAB中的函數一樣,需要指定行數、列數以及當前的子繪圖索引(從1開始計算)。我們將使用for 循環在數據集中迭代出前十張圖像,每張圖像都分配到一個單獨的子繪圖中。

這會得到下面的輸出結果:

關於作者:Michael Beyeler,華盛頓大學神經工程和數據科學專業的博士後,主攻仿生視覺計算模型,用以為盲人植入人工視網膜(仿生眼睛),改善盲人的視覺體驗。 他的工作屬於神經科學、計算機工程、計算機視覺和機器學習的交叉領域。同時他也是多個開源項目的積極貢獻者。

本文摘編自《機器學習:使用OpenCV和Python進行智能圖像處理》,經出版方授權發布。

⑶ 用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畫圖,為什麼代碼寫好運行時錯誤

python繪圖(可視化)的模塊非常多,下面我簡單介紹幾個不錯的繪圖庫,感興趣的朋友可以自己嘗試一下,實驗環境win7+python3.6+pycharm5.0,主要內容如下:

matplotlib
這是python中專門用於繪圖的一個模塊,功能強大,制圖種類繁多,使用也最廣泛,下面我簡單介紹一下這個模塊的安裝和使用:

1.首先,安裝matplotlib模塊,這個直接在cmd窗口輸入安裝命令「pip install matplotlib」就行,如下:

2.安裝完成後,我們就可以編寫代碼進行一下簡單測試了,代碼如下,一個稍微復雜的曲線圖:

程序運行效果如下,看著還是非常不錯的:

3.更多示例的話,可以參考一下官網教程,介紹的非常詳細,柱狀圖、散點圖、餅圖等都有,非常適合初學者學習入門:

seaborn
這是一個基於matplotlib的繪圖庫,是matplotlib的高級封裝,代碼量更少,使用起來也更方便,下面我簡單介紹一下這個模塊的安裝和使用:

1.首先,安裝seaborn模塊,這個也直接輸入安裝命令「pip install seaborn」就行,如下,很快就能安裝完成:

2.安裝完成後,我們就可以直接編寫代碼來測試一下這個模塊了,代碼如下,一個折線圖集合:

程序運行截圖如下,效果也非常不錯:

3.更多示例的話,也直接參考官網教程就行,介紹的非常詳細,很適合初學者入門學習:

pyecharts
這是echarts的一個python介面,藉助於echarts強大的可視化功能,python也可以快速構建、繪制各種各樣的圖表,下面我簡單介紹一下這個模塊的安裝和使用:

1.首先,安裝pyecharts模塊,這個也直接輸入命令「pip install pyecharts」就行,如下:

2.安裝完成後,我們就可以編寫代碼來進行下測試了,測試代碼如下,一個簡單的3D散點圖:

程序運行截圖如下(基於瀏覽器進行顯示),效果還是非常不錯的:

至此,我們就完成了利用python來進行繪圖(可視化)。總的來說,這3個繪圖模塊使用起來都非常不錯,對於大多數圖表繪制來說,完全可以滿足需求,當然,還有許多其他繪圖模塊,像ggplot等,也都非常不錯,網上也有相關教程,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

python畫圖有很多擴展可以用,比如matplotlib、turtle、pychart等等,看你需要什麼方面了,不同的需求需要用不同的工具。如果做界面還有pyqt、tkinter等等,做 游戲 還有pygame等等。

python報錯需要查看報錯信息,進行調試才能正常運行

⑸ 如何使用python代碼畫一個蘋果

#include<stdio.h>

int t;

char tab[]={

0,1,0,0,0,1,0,

1,0,1,0,1,0,1,

1,0,0,1,0,0,1,

1,0,0,0,0,0,1,

0,1,0,0,0,1,0,

0,0,1,0,1,0,0,

0,0,0,1,0,0,0,

};

void main()

{

for(t=0;t<49;t++)

{

if(t%7==0)

printf(" ");

if(tab[t]==0)

printf(" ");

else

printf("*");

}

}

(5)python用for畫畫教程擴展閱讀:

Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。

Python開發者有意讓違反了縮進規則的程序不能通過編譯,以此來強制程序員養成良好的編程習慣。並且Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非使用花括弧或者某種關鍵字。增加縮進表示語句塊的開始,而減少縮進則表示語句塊的退出。

⑹ python中怎樣用for循環,畫3*4的矩陣

lst = [1,2,3,4,5]
i = 0
while i<len(lst):
print(lst[i])
i+=1

# 無法用while 它的索引下標獲取集合其中的值;
setvar = {
"a","b","c"}

for .. in .. 應用而生

語法:

for 變數 in 可迭代對象:
code ...

閱讀全文

與python用for畫畫教程相關的資料

熱點內容
雅思聽力807詞彙pdf 瀏覽:897
黃豆私人加密 瀏覽:192
java分鍾轉換小時 瀏覽:245
易語言伺服器如何提高 瀏覽:591
網站主機伺服器地址查看 瀏覽:859
演算法學不會能當程序員嗎 瀏覽:119
程序員技術交流研究 瀏覽:814
javaresponse文件 瀏覽:734
linuxrar壓縮文件夾 瀏覽:218
魅藍手機連接不上伺服器怎麼回事 瀏覽:379
工行app怎麼改已綁定銀行卡 瀏覽:533
oppo晶元程序員 瀏覽:602
oppok3應用怎麼加密 瀏覽:327
電腦軟盤怎麼加密碼 瀏覽:815
伺服器光交換機有什麼用 瀏覽:708
app上怎麼拍蛙小俠 瀏覽:217
志高聊天app怎麼下載 瀏覽:635
郵政app怎麼不能掃付款碼 瀏覽:559
筆記本電腦雙理由配置命令 瀏覽:65
拿著文件夾怎麼畫 瀏覽:877