Python如何實現數據可視化

2021-12-29 python

在Linux系統中安裝matplotlib

Ubuntu17.10內置Python2版本和Python3版本,可以採用下面的方式安裝Matplotlib。

$sudo apt-get install python3-matplotlib

如果你使用的是Python 2.7,執行如下命令:

$ sudo apt-get install python-matplotlib

如果你安裝了pip 就可以使用下面的方式安裝:

$ pip install matplotlib

如果你的安裝比較慢,可以嘗試這種方式來安裝:

$ pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

常用的國內源地址有:

阿里雲 http://mirrors.aliyun.com/pypi/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/

測試matplotlib


下面來使用 matplotlib 繪製一個簡單的折線圖,再對其進行定製,以實現信息更豐富的數據可視化。我們將使用平方數序列 1 、 4 、 9 、 16 和 25 來繪製折線圖。

import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()

plt.show() # 打開 matplotlib 查看器,並顯示繪製的圖形。

修改標籤文字和線條粗細

圖形表明數字是越來越大的,但標籤文字太小,線條太細。所幸 matplotlib 讓你能夠調整可視化的各個方面。

import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=5)

plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

plt.tick_params(axis='both', labelsize=14)
plt.show()


校正圖形

圖形更容易閱讀後,我們發現沒有正確地繪製數據:折線圖的終點指出 4.0 的平方為 25 !下 面來修復這個問題。

import matplotlib.pyplot as plt
input_values = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
plt.plot(input_values, squares, linewidth=5)

plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

plt.tick_params(axis='both', labelsize=14)
plt.show()

使用scatter()繪製散點圖並設置其樣式

有時候,需要繪製散點圖並設置各個數據點的樣式。要繪製單個點,可使用函數 scatter() ,並向它傳遞一對 x 和 y 坐標,它將在指定位置繪製一 個點:

import matplotlib.pyplot as plt
plt.scatter(2, 4)
plt.show()


下面來設置輸出的樣式,使其更有趣:添加標題,給軸加上標籤,並確保所有文本都大到能夠看清:

import matplotlib.pyplot as plt
plt.scatter(2, 4, s=200)

plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

plt.tick_params(axis='both', labelsize=14)
plt.show()


使用scatter()繪製一系列點

要繪製一系列的點,可向 scatter() 傳遞兩個分別包含 x 值和 y 值的列表,如下所示:

import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4, 5]
y_values = [1, 4, 9, 16, 25]
plt.scatter(x_values, y_values, s=100)

plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()

自動計算數據

手工計算列表要包含的值可能效率低下,需要繪製的點很多時尤其如此。

import matplotlib.pyplot as plt
x_values = list(range(1, 1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values, y_values, s=40)

plt.axis([0, 1100, 0, 1100000])
plt.show()

matplotlib允許你給散點圖中的各個點指定顏色。
默認為藍色點和黑色輪廓,在散點圖包含的數據點不多時效果很好。
但繪製很多點時,黑色輪廓可能會粘連在一起。
要刪除數據點的輪廓,可在調用scatter()時傳遞實參edgecolor='none':

自定義顏色

要修改數據點的顏色,可向scatter()傳遞參數c,並將其設置為要使用的顏色的名稱,如下所示:

plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)

你還可以使用RGB顏色模式自定義顏色。

plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolor='none', s=40)


(0, 0, 0.8) 它們分別表示紅色、綠色和藍色分量。值越接近0,指定的顏色越深,值越接近1,指定的顏色越淺。

使用顏色映射

顏色映射(colormap)是一系列顏色,它們從起始顏色漸變到結束顏色。在可視化中,顏色映射用於突出數據的規律,例如,你可能用較淺的顏色來顯示較小的值,並使用較深的顏色來顯示較大的值。

import matplotlib.pyplot as plt
x_values = list(range(1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolor='none', s=40)

這些代碼將y值較小的點顯示為淺藍色,並將y值較大的點顯示為深藍色。

自動保存圖表

plt.savefig('squares_plot.png', bbox_inches='tight')

繪製隨機漫步圖

下面的代碼將隨機漫步的所有點都繪製出來:

import matplotlib.pyplot as plt
from random_walk import RandomWalk

rw = RandomWalk()
rw.fill_walk()
plt.scatter(rw.x_values, rw.y_values, s=15)
plt.show()


參考文獻:《Python編程:從入門到實戰》

相關焦點

  • 如何在Python中用Bokeh實現交互式數據可視化?
    在本文中,我將帶你體驗使用Bokeh實現數據可視化的各種可能途徑,以及Bokeh為什麼是每位數據科學家的必備「神器」。什麼是Bokeh?Bokeh是一個專門針對Web瀏覽器的呈現功能的交互式可視化Python庫。這是Bokeh與其它可視化庫最核心的區別。正如下圖所示,它說明了Bokeh如何將數據展示到一個Web瀏覽器上的流程。
  • 【Python教程】用Python進行數據可視化
    在本文中,我將介紹如何開始使用Python和matplotlib、seaborn兩個庫對數據進行可視化。pycharm社區版本)Python 3.6.9(windows如何安裝python環境)pip3 9.0.1Matplotlib 3.3.3:基於Python的繪圖庫,提供完全的 2D 支持和部分 3D 圖像支持。
  • Python數據可視化—Seaborn
    今天為大家分享的小技巧是python的可視化畫圖庫Seaborn。相信很多小俠客用過matplotlib、pyecharts等可視化庫,可是為什麼還要介紹Seaborn呢?因為它修復了上述兩個庫的一些缺點,比如Seaborn提供了大量的高級接口和自定義主題,而matplotlib沒有這些接口使得很難確定哪些設置來自定義圖表。
  • 手把手在Python中用Bokeh實現交互式數據可視化
    在本文中,我將帶你體驗使用Bokeh實現數據可視化的各種可能途徑,以及Bokeh為什麼是每位數據科學家的必備「神器」。◆ ◆ ◆什麼是Bokeh?Bokeh是一個專門針對Web瀏覽器的呈現功能的交互式可視化Python庫。這是Bokeh與其它可視化庫最核心的區別。正如下圖所示,它說明了Bokeh如何將數據展示到一個Web瀏覽器上的流程。
  • 推薦: 一本「高顏值」的Python語言數據可視化圖書
    《python數據可視化之美》主要介紹如何使用python中的matplotlib、seaborn、plotnine、basemap等包繪製專業圖表。本書先介紹了python語言編程基礎知識,以及使用numpy和pandas兩個包的數據操作方法;再對比了matplotlib、seaborn和plotnine三個包的圖形語法。
  • 利用Python畫中國地圖,實現各省數據可視化
    第一步:安裝pyecharts pyecharts是一款將python
  • 數據統計可視化——python生成詞雲
    有的人會認為它是文本挖掘的可視化、有的人 會給一些用戶打上標籤、有的人則只是想玩玩這酷炫的詞彙……但詞雲產生的視覺效果才是讓人更著迷的地方。詞雲主要是對文本中出現頻率較高的「關鍵詞」進行視覺上的突出,讓人更直觀地看出文本的重點。本文針對上一篇文章
  • 超硬核的 Python 數據可視化教程
    確定問題,選擇圖形轉換數據,應用函數參數設置,一目了然python中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,然後開始做縱向與橫向拓展。
  • 想用Python做數據可視化?先邁過這個「坎」
    用過python的人都會面臨一個問題,尤其是初學者:我應該選哪個來實現數據可視化? 以下就是將要用來創建繪製數據的示例: ·Pandas ·Seaborn ·Ggplot 在示例中,我將使用pandas進行數據處理並使用它來完成可視化的效果。
  • Python數據可視化-seaborn Iris鳶尾花數據
    StripplotStripplot的本質就是把數據集中具有quantitative屬性的變量按照類別去做散點圖(Scatterplot)。我們將紙鳶花數據集中不同種類花的sepal length做stripplot可視化上邊左側的圖片便是在默認風格下用stripplot繪製的散點圖。
  • Python數據可視化教程之基礎篇
    經過學習之後,我總結了利用python實現可視化的三個步驟:確定問題,選擇圖形轉換數據,應用函數參數設置,一目了然python中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,
  • 利用tushare獲取股票數據及實現可視化
    在上周的推文《利用tushare獲取股票數據》中,我們介紹了tushare的安裝以及如何獲取股票交易的數據和數據,今天我們將繼續介紹tushare的用法並實現數據的可視化,一起往下看吧~一、獲取實時分筆數據:get_realtime_quotes()在tushare中,可以使用get_realtime_quotes()實時獲取股票當前報價和成交信息,從而實現實時的監測交易量和價格的變化。
  • 4種更快更簡單實現Python數據可視化的方法
    數據可視化是數據科學或機器學習項目中十分重要的一環。通常,你需要在項目初期進行探索性的數據分析(EDA),從而對數據有一定的了解,而且創建可視化確實可以使分析的任務更清晰、更容易理解,特別是對於大規模的高維數據集。在項目接近尾聲時,以一種清晰、簡潔而引人注目的方式展示最終結果也是非常重要的,讓你的受眾(通常是非技術人員的客戶)能夠理解。
  • 15種獨一無二的創新數據可視化方式
    本文總結了15種驚豔的可視化方式,涵蓋了各種各樣的主題。可以應用於選擇的任何工具中,但本文將以Python、R、Tableau和D3.js為例。 1. 用R進行數據可視化在選擇數據可視化工具時,R語言是創建ggplot2庫不二之選。只需幾行代碼就能實現有個性的可視化、獲取實時反饋、揭示數據模式。
  • 基於 Python 實現交互式數據可視化的工具(用於 Web)
    2018學年春季學期)我教授了一門關於數據可視化的數據科學碩士課程。根據之前教授這門課的教授反饋來看,在這麼短的時間內教授D3是不可能的。 鑑於我自己對Python的熱愛和Python給學生帶來的舒適體驗,我決定向他們介紹Python中神奇的(我希望是的!)軟體包,它們可以實現所有我向學生展示的內容。
  • 用 Python 實現詞雲可視化
    今天不是說要怎麼用詞雲來做個人介紹,而是對工作中使用到比較多的詞雲計較做了一下總結,主要是包括三個方面:1、諸如上面的簡單形式矩形詞雲2、基於背景圖片數據來構建詞雲數據3、某些場景下不想使用類似上面的默認的字體顏色,這裡可以自定義詞雲的字體顏色接下來對上面三種類型的詞雲可視化方法進行demo實現與展示,具體如下,這裡我們使用到的測試數據如下
  • Python的數據可視化:對比7種工具包
    Python 的scientific stack(一個介紹Python科學計算包的網站)已經完全成熟,並且有各種各樣用例的庫,包括機器學習(連結:machine learning),數據分析(連結:data analysis)。數據可視化是探索數據和清晰的解釋結果很重要的一部分,但是Python在過去卻相對於其他工具比如R落後一點。
  • 原來Pandas也是一個Python可視化神器
    來源:大鄧和他的Python數據可視化可以讓我們很直觀的發現數據中隱藏的規律
  • ​數據可視化 | 6個基本可視化Python庫
    數據可視化是使用可視元素(例如圖表,圖形等)表示數據的過程,有助於從數據中獲取有意義的見解。它旨在揭示數據背後的信息,並進一步幫助查看者查看數據中的結構。數據可視化將使任何人只要對數據科學的了解最少,即可獲得科學發現,並幫助人們輕鬆地交流信息。畢竟,一張圖片勝過千言萬語。在本文中我們將介紹一些Python支持的最出色的可視化庫。
  • Python的可視化工具概述
    >ggplotBokehpygalPlotly在例子用,我將使用pandas操作數據,並啟動其可視化.在大多數情況下使用這些工具不需要pandas,但是我覺得pandas+可視化工具如此普遍,這是最好的起點。