當前位置:首頁 » 編程語言 » 用python畫圖代碼

用python畫圖代碼

發布時間: 2022-05-26 12:32:30

Ⅰ 如何用python繪制簡單條形圖

如何用python繪制簡單條形圖呢?這里離不開matplotlib的使用。
條形圖是數據可視化圖形中很基礎也很常用的一種圖,簡單解釋下:條形圖也叫長條圖(英語:bar chart),亦稱條圖(英語:bar graph)、條狀圖、棒形圖、柱狀圖、條形圖表,是一種以長方形的長度為變數的統計圖表。長條圖用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變數,通常利用於較小的數據集分析。長條圖亦可橫向排列,或用多維方式表達。
那麼一個普通的條形圖是長什麼樣子的呢?
當!當!當!就是下圖的這個樣子:
圖先亮出來啦,接下來研究這個圖是怎麼畫的吧,先看一下原數據長什麼樣子:
實際畫圖的流程和畫折線圖很相近,只是用到的畫圖函數不一樣,繪制條形圖的函數plt.bar():
由於這只是最簡單的一個條形圖,實際上條形圖的函數plt.bar()還有不少可以探索的參數設置,和對折線圖函數plt.plot()的探索差不多,有興趣的孩子可以自己去進行探索哦。
按照條形長短進行排序展示的條形圖
當然也可以有其他的設置,比如說上圖中的線條高低參差不齊,這是因為x軸的數據是按照學校名稱進行排序的,那麼可不可以按照分數的高低進行排序呢?也就是讓所有的長方形按照從高到矮或者從矮到高的順序進行排列?
當然可以啦!這里需要強調的是,條的高低排列等信息都是來源於原數據的,要想讓條形的順序發生改變,需要對畫圖的來源數據進行更改呢!
把原數據逆序排序後截取前十名數據賦值給data_yuwen,作為新的數據源傳入畫圖函數plt.bar(),畫出來的圖自然就不一樣了。
先看一眼數據長什麼樣子:
根據這個數據源繪制出的圖形如下,由於用來畫圖的數據進行了降序排序操作,所以生成條形圖的條也會進行降序排序展示:
很多時候,我們常見的條形圖還有另一種展現形式,那就是橫向的條形圖,比較火的那種動態條形圖絕大多數也都是橫向的條形圖,那麼橫向的條形圖如何繪制呢?
理解plt.bar()主要參數
其實也不難,只要清楚plt.bar()函數中主要參數的作用就可以了!條形圖函數中有五個主要參數,分別是x,height,width,bottom,orientation。其中x控制的是每個條在x軸上位置,height控制的是每個條的長度,width控制的是每個條的寬度,bottom控制的是每個條在y軸方向的起始位置,orientation控制的是條形的方向,是縱向還是橫向,默認是縱向的。
通過一個小例子理解下這幾個參數的作用:
上邊的幾行代碼輸出的圖形如下:
對比著代碼和實際輸出的條形圖,各個主要參數的作用是不是一目瞭然啦?
橫向條形圖
理解了這幾個參數作用後,縱向的條形圖轉換成橫向的條形圖就沒什麼難度了!
需要設置所有條形在x軸的位置都為0,也就全部從最左側開始畫條形;由於是橫向條形圖,所以實際上條的寬度顯示的是數據大小,將width參數設置成原數據中的語文成績;bottom控制每個條在y軸方向的起始位置,設置bottom=range(10)設置每個條形在y軸的起始位置各不相同避免有條形重疊;height控制的是每個條在y軸方向上的長度,條形圖橫向設置後,在y軸上的長度失去了衡量數據的意義,所以直接設置一個常數即可;最後設置條形的方向為橫向,即orientation=「horizontal」。
溫馨提示:數據和標簽一定要匹配,即plt.bar()重點的數據要和plt.yticks()中提取出來的標簽一一對應,一旦不匹配,整個圖展現的結果就是一個錯誤的結果!
上述代碼生成的條形圖如下:
感覺上邊這種生成橫向條形圖的方式有點點繞,和人們的習慣認知有點不大一樣,難道畫一個橫向條形圖就非得轉變自己的習慣認知這么反人類嗎?
當然不是的,實際上有更簡單的方法繪制一個橫向條形圖,之所以沒有一開始就直接用這種簡單的方法,也是為了讓大家體會下條形圖參數的靈活設置而已,而且如果比較繞的方法都能理解了,簡單的方法理解和運用起來就更沒有難度了啊!
不賣關子了,我們來認識下和plt.bar()函數類似的plt.barh()函數。
plt.barh()函數是專門繪制水平條形圖的函數,主要的參數有:
y 控制y軸顯示的標簽來源width 控制橫向條形的長度,即用來進行對比的數據源height 條形的寬度需要設置的參數主要就是這三個,比用plt.bar()函數繪制水平條形圖簡單了很多,具體代碼如下:
效果圖:
和用plt.bar()函數繪制的橫向條形圖一毛一樣對不對?以後有需求繪制橫向條形圖,盡量用plt.barh()函數吧,畢竟它是專門繪制這種類型圖的,簡單好用。
然而實際工作中對於條形圖的需求不只是這些,比如例子中只是對各個學校語文成績的展示,有時候需要各個學科的成績同時展現在一幅條形圖中,有時候也需要繪制堆積條形圖對各學科的成績以及總成績進行展示,這些圖又該如何繪制呢?其實只要理解了各個參數的含義,繪制這些圖也不在話下,至於具體怎麼畫,且看下回分解啊!

Ⅱ Python如何運用matplotlib庫繪制3D圖形

3D圖形在數據分析、數據建模、圖形和圖像處理等領域中都有著廣泛的應用,下面將給大家介紹一下如何在Python中使用 matplotlib進行3D圖形的繪制,包括3D散點、3D表面、3D輪廓、3D直線(曲線)以及3D文字等的繪制。

准備工作:

python中繪制3D圖形,依舊使用常用的繪圖模塊matplotlib,但需要安裝mpl_toolkits工具包,安裝方法如下:windows命令行進入到python安裝目錄下的Scripts文件夾下,執行: pip install --upgrade matplotlib即可;linux環境下直接執行該命令。

安裝好這個模塊後,即可調用mpl_tookits下的mplot3d類進行3D圖形的繪制。

下面以實例進行說明。

1、3D表面形狀的繪制

這段代碼是繪制一個3D的橢球表面,結果如下:


2、3D直線(曲線)的繪制

這段代碼用於繪制一個螺旋狀3D曲線,結果如下:

3、繪制3D輪廓

繪制結果如下:

相關推薦:《Python視頻教程》

4、繪制3D直方圖

繪制結果如下:

5、繪制3D網狀線

繪制結果如下:

6、繪制3D三角面片圖

繪制結果如下:

7、繪制3D散點圖

繪制結果如下:

Ⅲ python怎麼畫折線圖

一、環境准備

linux ubuntu 下需安裝下面三個包:

Numpy, Scipy,Matplotlib

分別輸入下面的代碼進行安裝:

[plain]view plain

  • pipinstallnumpy

  • pipinstallscipy

  • sudoapt-getinstallpython-matplotlib

  • 測試是否安裝成功

    [html]view plain

  • python

  • >>>importpylab

  • 如果沒有報錯則安裝成功

    二、開始畫圖

    1. 畫最簡單的直線圖

    代碼如下:

    [python]view plain

  • importnumpyasnp

  • importmatplotlib.pyplotasplt

  • x=[0,1]

  • y=[0,1]

  • plt.figure()

  • plt.plot(x,y)

  • plt.savefig("easyplot.jpg")

  • 結果如下:



Ⅳ Python作圖程序

實戰小程序:畫出y=x^3的散點圖

樣例代碼如下:

[python]view plain

  • #coding=utf-8

  • importpylabasy#引入pylab模塊

  • x=y.np.linspace(-10,10,100)#設置x橫坐標范圍和點數

  • y.plot(x,x*x*x,'or')#生成圖像

  • ax=y.gca()

  • ax.spines['right'].set_color('none')

  • ax.spines['top'].set_color('none')

  • ax.xaxis.set_ticks_position('bottom')

  • ax.spines['bottom'].set_position(('data',0))

  • ax.yaxis.set_ticks_position('left')

  • ax.spines['left'].set_position(('data',0))

  • ax.set_yticks([-1000,-500,500,1000])

  • y.xlim(x.min(),x.max())#將橫坐標設置為x的最大值和最小值

  • y.show()#顯示圖像

  • [python]view plain

  • importpylabasy

  • 程序中引入的pylab屬於matplotlib的一個模塊,將其名字用y代替,其中包括了許多NumPy和pyplot模塊中常用的函數,方便用戶快速進行計算和繪圖,十分適合在IPython互動式環境中使用。

  • [python]view plain

  • y.np.linspace(-10,10,100)

  • 此為numpy中的一個函數,返回的是等間距的值,numpy.linspace(a,b,c):a指的是開始位置,b表示的是結束位置,c表示產生點的個數(默認為50)
  • 舉例:

    [python]view plain

  • >>>np.linspace(2.0,3.0,num=5)

  • array([2.,2.25,2.5,2.75,3.])

  • [python]view plain

  • y.plot(x,x*x*x,'or')#生成圖像

  • 後面加上『o'表示為散點圖
  • 'r'可設置顏色為紅色,基本上和matlab的操作很像。

    [python]view plain

  • y.xlim(x.min(),x.max())

  • 這條語句使用了xlim函數,將橫坐標設置為x的大小

Ⅳ 如何用python畫冰墩墩

隨著北京冬奧會的開幕,吉祥物「 冰墩墩」可是火出了圈,銷售「 冰墩墩」的店鋪排起了長龍,用python可以繪畫冰墩墩嗎?當然是可以的。很多小夥伴在求python代碼,下面就是源碼啦,大家趕緊用python實現冰墩墩吧,徹底實現一人一墩。

一、python實現冰墩墩步驟:

1、安裝python環境;

2、在桌面創建文本文件,將下面的代碼復制粘貼進去;

3、將創建文件的格式修改為.py

4、雙擊運行就可以啦!


二、python實現冰墩墩源代碼:

importturtle

turtle.title('Python(冰墩墩)')
turtle.speed(40)#可以自己調節速度
#左手
turtle.penup()

turtle.goto(177,112)

turtle.pencolor("lightgray")

turtle.pensize(3)

turtle.fillcolor("white")

turtle.begin_fill()

turtle.pendown()

turtle.setheading(80)

turtle.circle(-45,200)

turtle.circle(-300,23)

turtle.end_fill()

#左手內
turtle.penup()

turtle.goto(182,95)

turtle.pencolor("black")

更多源碼點擊下方鏈接查看

python畫冰墩墩源代碼

Ⅵ python畫同心圓並填充顏色

用海龜畫圖,代碼如下:

import turtle
my_colors=('red','green','yellow','blue','black')
t=turtle.Pen()
for i in range(5):
t.penup()
t.goto(0,-i*10)
t.pendown()
t.color(my_colors[i%len(my_colors)])
t.circle(15+i*10)'''t.goto(0,0)
turtle.done()#程序執行完,窗口仍然在

Ⅶ 如何採用Python語言繪制一條彩色的蟒蛇

採用的是Python shell來實現的,也就是大家所說的IDLE插件。

END
2.建立腳本

1
單擊shell界面上面工具欄中的「file」-「new file」。

2
如下圖所示,我們建立了一個腳本文件。

END
3.保存文件

1
單擊腳本文件上側的「file」-「save」,來實現對文件的保存。

2
選定上述命令後,會出現一個保存設置界面,將我們的腳本保存到相應的位置,並給其命名,然後,單擊「保存」,完成文件保存。

END
4.編寫代碼

1
1.腳本結構
根據需求,本例需要建立兩個函數一個是main()函數,一個是drawSnake函數。

2
2.編寫drawSnake:
該函數數用來實現畫蛇的具體操作,主要涉及到到畫圖的方法;對於該函數,我們首先得確定畫蛇的基本策略,該函數中用到了很多的turtle包中的子函數,具體可參見該包的幫助文檔,這里貼出代碼:
def drawSnake(rad,angle,len,neckrad):
mycolor=["black","red","red","blue","yellow"]
yocolor=["yellow","green","yellow","red","red"]
for i in range(len):
turtle.pencolor(mycolor[i])
turtle.circle(rad,angle)
turtle.pencolor(yocolor[i])
turtle.circle(-rad,angle)
turtle.pencolor("green")
turtle.circle(rad,angle/2)
turtle.pencolor("yellow")
turtle.fd(rad)
turtle.pencolor("red")
turtle.circle(neckrad+1,180)
turtle.pencolor("green")
turtle.fd(rad*2/3)

3
3.編寫main函數:
代碼貼出如下,具體代碼意思可參見turtle的幫助文檔:
def main():
turtle.setup(1300,800,0,0)
pythonsize=30
turtle.pensize(pythonsize)
turtle.seth(-40)

drawSnake(40,80,5,pythonsize/2)

4
4.執行main:
與其它不同的是我們需要在最後,將我們所定義的代碼進行執行,不然就是空的。就是圖中的main()

END
5.編譯運行

單擊腳本界面上的「run」-「run mole」,就可以運行我們的畫圖程序了。

執行效果,如下,雖然看起來有點不好看,但它把我們的真個執行過程給展現出來了。

Ⅷ Python如何畫cos和sin的圖啊

import
numpy
as
np
import
matplotlib.pyplot
as
plt
#從-π到π取201個變數(取得多點線就圓滑一點,這是源碼寫的例子201不知道有啥特殊之處,反正取100也行)
x
=
np.linspace(-np.pi,
np.pi,
201)
#計算201個變數對應的值連成線
plt.plot(x,
np.sin(x))
plt.plot(x,
np.cos(x))
#將畫成的圖顯示出來
plt.show()
大概就是這個意思,有錯誤的還請指教

Ⅸ 為什麼用python畫圖總是偏右畫

python沿畫筆的方向畫線用forward()函數。
forward()函數能使畫筆前進,比如沿畫筆方向畫100像素的直線,代碼如下所示:turtle.forward(100)。

Ⅹ 用python代碼繪圖

python中subplot的用法
subplot是python中子圖的繪制,這里主要介紹如何排布子圖與極坐標圖的繪制。
具體用法,需要搜索網上內容,再結合自己的情況修改參數即可。

熱點內容
c與java編譯過程 發布:2025-02-12 21:47:47 瀏覽:373
python的面向對象 發布:2025-02-12 21:46:10 瀏覽:613
醫學影像存儲解決方案 發布:2025-02-12 21:45:58 瀏覽:976
股票走勢預測演算法 發布:2025-02-12 21:45:06 瀏覽:769
游戲lua腳本 發布:2025-02-12 21:45:01 瀏覽:918
怎麼下載安卓版的光子助手 發布:2025-02-12 21:43:45 瀏覽:454
oppor7s怎麼取消鎖屏密碼 發布:2025-02-12 21:43:31 瀏覽:595
我的世界伺服器甜蜜小鎮 發布:2025-02-12 21:41:08 瀏覽:75
ftp影響數據交換 發布:2025-02-12 21:27:18 瀏覽:387
編譯原理與實現pdf 發布:2025-02-12 21:27:14 瀏覽:42