包含如何使用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畫圖,為什麼代碼寫好運行時錯誤?

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繪製餅圖

我們在運用Python製作各種圖形的時候,經常需要繪製餅圖。那麼如何用Python繪製餅圖呢?下面我給大家分享演示一下。

工具/材料

Pycharm

01

首先我們需要在Excel文件中準備好餅圖的數據,如下圖所示

02

接下來我們打開Pycharm,新建Python文件,導入Python的pandas庫,利用pandas將Excel數據加載到緩存中,如下圖所示

03

然後我們在導入pyplot庫,運用pyplot庫的pie進行餅圖的繪製,如下圖所示

04

接着運行程序以後我們就可以看到一張如下圖所示的餅圖了,但是四周的名稱和Excel中的還是不太一樣,接下來修改四周的名稱

05

我們在運用pandas庫加載Excel數據文件的時候加上index_col屬性即可,如下圖所示

06

這次在運行程序我們就可以看到餅圖四周的名稱和Excel中的一樣了,如下圖所示

07

接着我們在運用pyplot中的title和ylable設置餅圖的標題和Y坐標軸的名稱,如下圖所示

08

最後運行文件就可以看到下面這個信息比較齊全的餅圖了,如下圖所示,到這裡用Python繪製餅圖就結束了

python繪圖篇

1,xlable,ylable設置x,y軸的標題文字。

2,title設置標題。

3,xlim,ylim設置x,y軸顯示範圍。

plt.show()顯示繪圖窗口,通常情況下,show()會阻礙程序運行,帶-wthread等參數的環境下,窗口不會關閉。

plt.saveFig()保存圖像。

面向對象繪圖

1,當前圖表和子圖可以用gcf(),gca()獲得。

subplot()繪製包含多個圖表的子圖。

configure subplots,可調節子圖與圖表邊框距離。

可以通過修改配置文件更改對象屬性。

圖標顯示中文

1,在程序中直接指定字體。

2, 在程序開始修改配置字典reParams.

3,修改配置文件。

Artist對象

1,圖標的繪製領域。

2,如何在FigureCanvas對象上繪圖。

3,如何使用Renderer在FigureCanvas對象上繪圖。

FigureCanvas和Render處理底層圖像操作,Artist處理高層結構。

分為簡單對象和容器對象,簡單的Aritist是標準的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡單的的 Aritist對象,使他們構成一個整體,例如Axis,Axes,Figure等。

直接創建Artist對象進項繪圖操作步奏:

1,創建Figure對象(通過figure()函數,會進行許多初始化操作,不建議直接創建。)

2,為Figure對象創建一個或多個Axes對象。

3,調用Axes對象的方法創建各類簡單的Artist對象。

Figure容器

如何找到指定的Artist對象。

1,可調用add_subplot()和add_axes()方法向圖表添加子圖。

2,可使用for循環添加柵格。

3,可通過transform修改坐標原點。

Axes容器

1,patch修改背景。

2,包含坐標軸,坐標網格,刻度標籤,坐標軸標題等內容。

3,get_ticklabels(),,get-ticklines獲得刻度標籤和刻度線。

1,可對曲線進行插值。

2,fill_between()繪製交點。

3,坐標變換。

4,繪製陰影。

5,添加註釋。

1,繪製直方圖的函數是

2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數據中的五個統計量:最小值、第一四分位

數、中位數、第三四分位數與最大值來描述數據的一種方法,它可以粗略地看出數據是否具有對稱性以及分

布的分散程度等信息,特別可以用於對幾個樣本的比較。

3,餅圖就是把一個圓盤按所需表達變量的觀察數劃分為若干份,每一份的角度(即面積)等價於每個觀察

值的大小。

4,散點圖

5,QQ圖

低層繪圖函數

類似於barplot(),dotchart()和plot()這樣的函數採用低層的繪圖函數來畫線和點,來表達它們在頁面上放置的位置以及其他各種特徵。

在這一節中,我們會描述一些低層的繪圖函數,用戶也可以調用這些函數用於繪圖。首先我們先講一下R怎麼描述一個頁面;然後我們講怎麼在頁面上添加點,線和文字;最後講一下怎麼修改一些基本的圖形。

繪圖區域與邊界

R在繪圖時,將顯示區域劃分為幾個部分。繪製區域顯示了根據數據描繪出來的圖像,在此區域內R根據數據選擇一個坐標系,通過顯示出來的坐標軸可以看到R使用的坐標系。在繪製區域之外是邊沿區,從底部開始按順時針方向分別用數字1到4表示。文字和標籤通常顯示在邊沿區域內,按照從內到外的行數先後顯示。

添加對象

在繪製的圖像上還可以繼續添加若干對象,下面是幾個有用的函數,以及對其功能的說明。

•points(x, y, …),添加點

•lines(x, y, …),添加線段

•text(x, y, labels, …),添加文字

•abline(a, b, …),添加直線y=a+bx

•abline(h=y, …),添加水平線

•abline(v=x, …),添加垂直線

•polygon(x, y, …),添加一個閉合的多邊形

•segments(x0, y0, x1, y1, …),畫線段

•arrows(x0, y0, x1, y1, …),畫箭頭

•symbols(x, y, …),添加各種符號

•legend(x, y, legend, …),添加圖列說明

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/188464.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 13:31
下一篇 2024-11-28 13:31

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論