基於Python的資料視覺化 matplotlib seaborn pandas
原文采用了kaggle上iris花的資料,資料來源從上面的網址上找噢
如果沒有seaborn庫 安裝方法如下
http://www.ithao123.cn/content-10393533.html
正式開始了~~~
123456789101112131415 | # 首先載入pandasimport pandas aspd# 我們將載入seaborn,但是因為載入時會有警告出現,因此先載入warnings,忽略警告import warnings warnings.filterwarnings("ignore")import seaborn assnsimport matplotlib.pyplot aspltsns.set(style="white",color_codes=True)# 載入資料iris=pd.read_csv |
資料結構就這樣:
Id | SepalLengthCm | SepalWidthCm | PetalLengthCm | PetalWidthCm | Species | |
---|---|---|---|---|---|---|
0 | 1 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
1 | 2 | 4.9 | 3.0 | 1.4 | 0.2 | Iris-setosa |
2 | 3 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
3 | 4 | 4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
4 | 5 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
12 | # 讓我們用counts功能看下一共有多少種花iris["Species"].value_counts() |
結果是:
1234 | Iris-setosa50Iris-virginica50Iris-versicolor50Name:Species,dtype:int64 |
1.
12 | # 使用 .plot 做散點圖iris.plot(kind="scatter",x="SepalLengthCm",y="SepalWidthCm")#資料為萼片的長和寬 結果如下 |
2.
12 | # 開始使用seaborn了它能同時顯示直方圖噢sns.jointplot(x="SepalLengthCm",y="SepalWidthCm",data=iris,size=5) |
3神奇的還在下面:
1234 | # 我們還可以用seaborn's FacetGrid 標記不同的種類噢sns.FacetGrid(iris,hue="Species",size=5)#hue英文是色彩的意思.map(plt.scatter,"SepalLengthCm","SepalWidthCm")#注意這裡的plt哦.add_legend() |
4箱線圖!
12 | # Seaborn中的boxplot,可以畫箱線圖,可以看出不同種類的分佈情況sns.boxplot(x="Species",y="PetalLengthCm",data=iris) |
5、
1234567 | # 利用striplot可以錦上添花,加上散點圖# # 使振動值jitter=True 使各個散點分開,要不然會是一條直線## 注意這裡將座標圖用ax來儲存了哦,這樣第二次才會在原來的基礎上加點ax=sns.boxplot(x="Species",y="PetalLengthCm",data=iris)ax=sns.stripplot(x="Species",y="PetalLengthCm",data=iris,jitter=True,edgecolor="gray") |
6、小提琴圖
12 | # 這圖可以變現出密度的分佈sns.violinplot(x="Species",y="PetalLengthCm",data=iris,size=6) |
7、kdeplot
1234 | # 通過這個曲線圖可以看出不同特徵值時的分佈密度sns.FacetGrid(iris,hue="Species",size=6).map(sns.kdeplot,"PetalLengthCm").add_legend() |
8.大招來了
12 | # pairplot顯示不同特徵之間的關係sns.pairplot(iris.drop("Id",axis=1),hue="Species",size=3) |
9、中間對角線的圖形也可以用kde顯示哦
12 | # 修改引數dige_kindsns.pairplot(iris.drop("Id",axis=1),hue="Species",size=3,diag_kind="kde") |
10.現在是pandas表現的時間了
12 | # 用Pandas 快速做出每個特徵在不同種類下的箱線圖iris.drop("Id",axis=1).boxplot(by="Species",figsize=(12,6)) |
11.調和曲線圖 Andrew Curves
首先啥是Andrew curves呢 看維基百科
https://en.wikipedia.org/wiki/Andrews_plot
他是將高維的點 化為二維的曲線,曲線是一條傅立葉函式的樣子,引數項為不同的特徵值,臆想出來了自變數t,這樣每個點都是一條曲線
123 | # 畫圖的函式在下面,我們會發現相同種類的線總是纏綿在一起,可以和聚類混在一起噢,事實上他們與歐氏距離是有關係的from pandas.tools.plotting import andrews_curvesandrews_curves(iris.drop("Id",axis=1),"Species") |
12輪廓圖
https://en.wikipedia.org/wiki/Parallel_coordinates
123 | # 輪廓圖也是看高維資料的一種方法,將不同的特徵放在橫座標,然後將各點的特徵值放在縱座標就可以了from pandas.tools.plotting import parallel_coordinatesparallel_coordinates(iris.drop("Id",axis=1),"Species") |
13 radviz
http://www.doc88.com/p-912968623585.html
123 | # 這也是一種將高維點表現在二維平面的方法,具體作圖方法應該在上面的網址上應該有from pandas.tools.plotting import radvizradviz(iris.drop("Id",axis=1),"Species") |
暫時就是這些,希望會對大家有幫助
補充參考:
http://wenku.baidu.com/link?url=l1tNiAh1YegiSIwDjcS6f4swybDt3A-qczVXpbXf_7S6RUGC_gOOoP9fv4w8VXSMKlYiz0HlhhTsysEwwiqYORMwg-phyehtXlAIAAdEJ8G
相關推薦
基於Python的資料視覺化 matplotlib seaborn pandas
原文采用了kaggle上iris花的資料,資料來源從上面的網址上找噢 如果沒有seaborn庫 安裝方法如下 http://www.ithao123.cn/content-10393533.html 正式開始了~~~ # 首先載
python資料視覺化(matplotlib,pandas繪圖,直方圖,散點圖,柱狀圖,折線圖,箱線圖)
pclass survived name sex \ 0 1 1 Allen, Miss. Elisabeth Walton fema
Python資料視覺化matplotlib(二)—— 子圖功能
Python資料視覺化matplotlib(二)—— 子圖功能 在matplotlib中,整個影象為一個Figure物件,在Figure物件中可以包含一個或者多個Axes物件,每個Axes(ax)物件都是一個擁有自己座標系統的繪圖區域 import pandas as
Python資料視覺化matplotlib(一)—— 圖表的基本元素
Python資料視覺化matplotlib(一)—— 圖表的基本元素 圖表建立 plt.show() # 圖表視窗1 → plt.show() plt.plot(np.random.rand(10)) plt.show() # 直接生成圖表 魔法函式 % matp
Python資料視覺化--matplotlib.pyplot用法示例
繪製簡單的折線圖 import matplotlib.pyplot as plt input_values = [1, 2, 3, 4, 5] squares = [1, 4, 9, 16, 25] plt.plot(input_values, squares) plt.s
Python資料視覺化-Matplotlib學習筆記(1)--折線圖為例畫圖入門
在使用Python做資料處理的時,大量的資料我們看起來並不是很直觀,有時候把它圖形化顯示反而更能容易的觀察資料的變化特徵等等。 Matplotlib是一個Python的2D繪相簿,它以各種硬拷貝格式和跨平臺的互動式環境生成出版質量級別的圖形。它提供了一整套
Python資料視覺化-Matplotlib學習筆記(3)--畫散點圖
這兩天數學建模中需要畫個散點圖,索性就把程式碼發上來吧,帖子嘛~當然是多多益善嘍 資料是一千組x,y座標資料 列印下head E:\Anaconda3\python.exe E:/Anac
python 資料視覺化 matplotlib學習二 : 對摺線圖使用顏色對映
本節程式碼依賴上一節程式碼 顏色對映是一系列顏色,他們從起始顏色漸變到結束顏色,在視覺化中,顏色對映用於突出資料的規律,例如,你可能用較淺的顏色來顯示較小的值,並使用
python基礎之資料視覺化matplotlib
資料視覺化圖示的繪製需要安裝matplotlib庫,安裝方法:cmd下pip install matplotlib,以及numpy庫,安裝法法:cmd下pip install numpy。使用numpy生產影象繪製需要的資料,如果已經有了資料可以讀取資料到陣
Python資料視覺化—seaborn
Seaborn其實是在matplotlib的基礎上進行了更高階的API封裝,從而使得作圖更加容易,在大多數情況下使用seaborn就能做出很具有吸引力的圖。這裡例項採用的資料集都是seaborn提供的幾個經典資料集,dataset檔案可見於Github。 1 set_st
Python資料視覺化之matplotlib實踐chapter-01
""" Example 1.3.1: 函式plot() """ import matplotlib.pyplot as plt import numpy as np x = np.linspace(0.05,10,1000) # x = 0.05到10的等間距1000個點 y = np
Python資料視覺化之matplotlib實踐chapter-02
""" Example 2.1: 函式bar() """ import matplotlib as mpl import matplotlib.pyplot as plt # 解決matplotlib無法顯示中文問題 mpl.rcParams['font.sans-serif']=['Sim
python資料視覺化seaborn(一)—— 整體樣式與調色盤
很久之前對seaborn有過一些涉及但是沒有深入探究,這次有趁著有資料視覺化的需求,就好好學一學 Seaborn其實是在matplotlib的基礎上進行了更高階的API封裝,從而使得作圖更加容易,在大多數情況下使用seaborn就能做出很具有吸引力的圖,為資料分析提供了很大的便利性。但是
python 爬蟲與資料視覺化--matplotlib模組應用
一、資料分析的目的(利用大資料量資料分析,幫助人們做出戰略決策) 二、什麼是matplotlib? matplotlib: 最流行的Python底層繪相簿,主要做資料視覺化圖表,名字取材於MATLAB,模仿MATLAB構建,能將資料進行視覺化、更直觀的呈現、使資料更加客觀、更具說服
python資料視覺化: 使用 pandas
資料 連結 以下是本資料集的13個特徵變數的詳細說明: order_id:訂單ID,數字組合而成,例如4283851335。 order_date:訂單日期,格式為YYYY-MM-DD,例如2013-10-17。 order_time:訂單日期,格式為HH
Python資料視覺化:Matplotlib 直方圖、箱線圖、條形圖、熱圖、折線圖、散點圖。。。
介紹 使用Python進行資料分析,資料的視覺化是資料分析結果最好的展示方式,這裡從Analytic Vidhya中找到的相關資料,進行一系列圖形的展示,從中得到更多的經驗。
python科學計算——資料視覺化(2) Seaborn
寫在前面 在前面的文章介紹了Matplotlib的視覺化基本功能,seaborn是基於Matplotlib的基礎上進行了封裝,能夠快速的繪製精美的圖表,使用起來比matplotlib更為方便簡潔,本文是參考seaborn的官方文件進行的總結。 seaborn
PYTHON資料視覺化(四)seaborn
線性關係視覺化 許多資料集都有著眾多連續變數。資料分析的目的經常就是衡量變數之間的關係,我們之前介紹了可以繪製雙變數分佈的函式。然而,使用統計模型來估計兩個噪聲觀測組之間的簡單關係可能是非常有幫助的。我們在這一章中討論的函式功能將線上性迴歸的框架實現。 請注
Python資料視覺化之Matplotlib實現各種圖表
資料分析就是將資料以各種圖表的形式展現給領導,供領導做決策用,因此熟練掌握餅圖、柱狀圖、線圖等圖表製作是一個數據分析師必備的技能。Python有兩個比較出色的圖表製作框架,分別是Matplotlib和Pyechart。本文主要講述使用Matplotlib製作各種資料圖表。 Matplotlib是最流行的用於
python資料分析之資料視覺化matplotlib
import matplotlib.pyplot as plt import numpy as np import numpy.random as randn import pandas as pd f