Matplotlib 可視化最有價值的 14 個圖表(附完整 Python 原始碼)

2021-03-02 GitChat精品課

本文來源 | 公眾號 Python數據之道

翻譯 | Lemon

作者 | Machine Learning Plus

本文總結了 Matplotlib 以及 Seaborn 用的最多的 50 個圖形,掌握這些圖形的繪製,對於數據分析的可視化有莫大的作用,在數據分析和可視化中最有用的 50 個 Matplotlib 圖表。 這些圖表列表允許您使用 python 的 matplotlib 和 seaborn 庫選擇要顯示的可視化對象。

介紹

這些圖表根據可視化目標的7個不同情景進行分組。 例如,如果要想像兩個變量之間的關係,請查看「關聯」部分下的圖表。 或者,如果您想要顯示值如何隨時間變化,請查看「變化」部分,依此類推。

有效圖表的重要特徵:

在不歪曲事實的情況下傳達正確和必要的信息。

設計簡單,您不必太費力就能理解它。

從審美角度支持信息而不是掩蓋信息。

信息沒有超負荷。

準備工作

在代碼運行前先引入下面的設置內容。 當然,單獨的圖表,可以重新設置顯示要素。

# !pip install brewer2mpl

import numpy as np

import pandas as pd

import matplotlib as mpl

import matplotlib.pyplot as plt

import seaborn as sns

import warnings; warnings.filterwarnings(action='once')

large = 22; med = 16; small = 12

params = {'axes.titlesize': large,

         'legend.fontsize': med,

         'figure.figsize': (16, 10),

         'axes.labelsize': med,

         'axes.titlesize': med,

         'xtick.labelsize': med,

         'ytick.labelsize': med,

         'figure.titlesize': large}

plt.rcParams.update(params)

plt.style.use('seaborn-whitegrid')

sns.set_style("white")

%matplotlib inline

# Version

print(mpl.__version__)  #> 3.0.0

print(sns.__version__)  #> 0.9.0

3.0.2

0.9.0

一、關聯 (Correlation)

關聯圖表用於可視化2個或更多變量之間的關係。 也就是說,一個變量如何相對於另一個變化。

1. 散點圖(Scatter plot)

散點圖是用於研究兩個變量之間關係的經典的和基本的圖表。 如果數據中有多個組,則可能需要以不同顏色可視化每個組。 在 matplotlib 中,您可以使用 plt.scatterplot() 方便地執行此操作。

# Import dataset

midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

# Prepare Data

# Create as many colors as there are unique midwest['category']

categories = np.unique(midwest['category'])

colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]

# Draw Plot for Each Category

plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')

for i, category in enumerate(categories):

   plt.scatter('area', 'poptotal',

               data=midwest.loc[midwest.category==category, :],

               s=20, cmap=colors[i], label=str(category))

   # "c=" 修改為 "cmap=",Python數據之道 備註

# Decorations

plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),

             xlabel='Area', ylabel='Population')

plt.xticks(fontsize=12); plt.yticks(fontsize=12)

plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)

plt.legend(fontsize=12)    

plt.show()    

圖1

2. 帶邊界的氣泡圖(Bubble plot with Encircling)

有時,您希望在邊界內顯示一組點以強調其重要性。 在這個例子中,你從數據框中獲取記錄,並用下面代碼中描述的 encircle() 來使邊界顯示出來。

from matplotlib import patches

from scipy.spatial import ConvexHull

import warnings; warnings.simplefilter('ignore')

sns.set_style("white")

# Step 1: Prepare Data

midwest = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv")

# As many colors as there are unique midwest['category']

categories = np.unique(midwest['category'])

colors = [plt.cm.tab10(i/float(len(categories)-1)) for i in range(len(categories))]

# Step 2: Draw Scatterplot with unique color for each category

fig = plt.figure(figsize=(16, 10), dpi= 80, facecolor='w', edgecolor='k')    

for i, category in enumerate(categories):

   plt.scatter('area', 'poptotal', data=midwest.loc[midwest.category==category, :],

               s='dot_size', cmap=colors[i], label=str(category), edgecolors='black', linewidths=.5)

   # "c=" 修改為 "cmap=",Python數據之道 備註

# Step 3: Encircling

# https://stackoverflow.com/questions/44575681/how-do-i-encircle-different-data-sets-in-scatter-plot

def encircle(x,y, ax=None, **kw):

   if not ax: ax=plt.gca()

   p = np.c_[x,y]

   hull = ConvexHull(p)

   poly = plt.Polygon(p[hull.vertices,:], **kw)

   ax.add_patch(poly)

# Select data to be encircled

midwest_encircle_data = midwest.loc[midwest.state=='IN', :]                        

# Draw polygon surrounding vertices    

encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="k", fc="gold", alpha=0.1)

encircle(midwest_encircle_data.area, midwest_encircle_data.poptotal, ec="firebrick", fc="none", linewidth=1.5)

# Step 4: Decorations

plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),

             xlabel='Area', ylabel='Population')

plt.xticks(fontsize=12); plt.yticks(fontsize=12)

plt.title("Bubble Plot with Encircling", fontsize=22)

plt.legend(fontsize=12)    

plt.show()    

圖2

二、偏差 (Deviation)3.  發散型條形圖 (Diverging Bars)

如果您想根據單個指標查看項目的變化情況,並可視化此差異的順序和數量,那麼散型條形圖 (Diverging Bars) 是一個很好的工具。 它有助於快速區分數據中組的性能,並且非常直觀,並且可以立即傳達這一點。

# Prepare Data

df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv")

x = df.loc[:, ['mpg']]

df['mpg_z'] = (x - x.mean())/x.std()

df['colors'] = ['red' if x < 0 else 'green' for x in df['mpg_z']]

df.sort_values('mpg_z', inplace=True)

df.reset_index(inplace=True)

# Draw plot

plt.figure(figsize=(14,10), dpi= 80)

plt.hlines(y=df.index, xmin=0, xmax=df.mpg_z, color=df.colors, alpha=0.4, linewidth=5)

# Decorations

plt.gca().set(ylabel='$Model$', xlabel='$Mileage$')

plt.yticks(df.index, df.cars, fontsize=12)

plt.title('Diverging Bars of Car Mileage', fontdict={'size':20})

plt.grid(linestyle='--', alpha=0.5)

plt.show()

圖3

4. 發散型文本 (Diverging Texts)

發散型文本 (Diverging Texts)與發散型條形圖 (Diverging Bars)相似,如果你想以一種漂亮和可呈現的方式顯示圖表中每個項目的價值,就可以使用這種方法。

# Prepare Data

df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv")

x = df.loc[:, ['mpg']]

df['mpg_z'] = (x - x.mean())/x.std()

df['colors'] = ['red' if x < 0 else 'green' for x in df['mpg_z']]

df.sort_values('mpg_z', inplace=True)

df.reset_index(inplace=True)

# Draw plot

plt.figure(figsize=(14,14), dpi= 80)

plt.hlines(y=df.index, xmin=0, xmax=df.mpg_z)

for x, y, tex in zip(df.mpg_z, df.index, df.mpg_z):

   t = plt.text(x, y, round(tex, 2), horizontalalignment='right' if x < 0 else 'left',

                verticalalignment='center', fontdict={'color':'red' if x < 0 else 'green', 'size':14})

# Decorations    

plt.yticks(df.index, df.cars, fontsize=12)

plt.title('Diverging Text Bars of Car Mileage', fontdict={'size':20})

plt.grid(linestyle='--', alpha=0.5)

plt.xlim(-2.5, 2.5)

plt.show()

圖4

三、排序 (Ranking)5. 有序條形圖 (Ordered Bar Chart)

有序條形圖有效地傳達了項目的排名順序。 但是,在圖表上方添加度量標準的值,用戶可以從圖表本身獲取精確信息。

圖5

6. 棒棒糖圖 (Lollipop Chart)

棒棒糖圖表以一種視覺上令人愉悅的方式提供與有序條形圖類似的目的。

# Prepare Data

df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")

df = df_raw[['cty', 'manufacturer']].groupby('manufacturer').apply(lambda x: x.mean())

df.sort_values('cty', inplace=True)

df.reset_index(inplace=True)

# Draw plot

fig, ax = plt.subplots(figsize=(16,10), dpi= 80)

ax.vlines(x=df.index, ymin=0, ymax=df.cty, color='firebrick', alpha=0.7, linewidth=2)

ax.scatter(x=df.index, y=df.cty, s=75, color='firebrick', alpha=0.7)

# Title, Label, Ticks and Ylim

ax.set_title('Lollipop Chart for Highway Mileage', fontdict={'size':22})

ax.set_ylabel('Miles Per Gallon')

ax.set_xticks(df.index)

ax.set_xticklabels(df.manufacturer.str.upper(), rotation=60, fontdict={'horizontalalignment': 'right', 'size':12})

ax.set_ylim(0, 30)

# Annotate

for row in df.itertuples():

   ax.text(row.Index, row.cty+.5, s=round(row.cty, 2), horizontalalignment= 'center', verticalalignment='bottom', fontsize=14)

plt.show()

圖6

四、分布 (Distribution)7. 連續變量的直方圖 (Histogram for Continuous Variable)

直方圖顯示給定變量的頻率分布。 下面的圖表示基於類型變量對頻率條進行分組,從而更好地了解連續變量和類型變量。

# Import Data

df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")

# Prepare data

x_var = 'displ'

groupby_var = 'class'

df_agg = df.loc[:, [x_var, groupby_var]].groupby(groupby_var)

vals = [df[x_var].values.tolist() for i, df in df_agg]

# Draw

plt.figure(figsize=(16,9), dpi= 80)

colors = [plt.cm.Spectral(i/float(len(vals)-1)) for i in range(len(vals))]

n, bins, patches = plt.hist(vals, 30, stacked=True, density=False, color=colors[:len(vals)])

# Decoration

plt.legend({group:col for group, col in zip(np.unique(df[groupby_var]).tolist(), colors[:len(vals)])})

plt.title(f"Stacked Histogram of ${x_var}$ colored by ${groupby_var}$", fontsize=22)

plt.xlabel(x_var)

plt.ylabel("Frequency")

plt.ylim(0, 25)

plt.xticks(ticks=bins[::3], labels=[round(b,1) for b in bins[::3]])

plt.show()

圖7

8. 類型變量的直方圖 (Histogram for Categorical Variable)

類型變量的直方圖顯示該變量的頻率分布。 通過對條形圖進行著色,可以將分布與表示顏色的另一個類型變量相關聯。

# Import Data

df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")

# Prepare data

x_var = 'manufacturer'

groupby_var = 'class'

df_agg = df.loc[:, [x_var, groupby_var]].groupby(groupby_var)

vals = [df[x_var].values.tolist() for i, df in df_agg]

# Draw

plt.figure(figsize=(16,9), dpi= 80)

colors = [plt.cm.Spectral(i/float(len(vals)-1)) for i in range(len(vals))]

n, bins, patches = plt.hist(vals, df[x_var].unique().__len__(), stacked=True, density=False, color=colors[:len(vals)])

# Decoration

plt.legend({group:col for group, col in zip(np.unique(df[groupby_var]).tolist(), colors[:len(vals)])})

plt.title(f"Stacked Histogram of ${x_var}$ colored by ${groupby_var}$", fontsize=22)

plt.xlabel(x_var)

plt.ylabel("Frequency")

plt.ylim(0, 40)

plt.xticks(ticks=bins, labels=np.unique(df[x_var]).tolist(), rotation=90, horizontalalignment='left')

plt.show()

圖8

五、組成 (Composition)9. 華夫餅圖 (Waffle Chart)

可以使用 pywaffle包 創建華夫餅圖,並用於顯示更大群體中的組的組成。

#! pip install pywaffle

# Reference: https://stackoverflow.com/questions/41400136/how-to-do-waffle-charts-in-python-square-piechart

from pywaffle import Waffle

# Import

df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")

# Prepare Data

df = df_raw.groupby('class').size().reset_index(name='counts')

n_categories = df.shape[0]

colors = [plt.cm.inferno_r(i/float(n_categories)) for i in range(n_categories)]

# Draw Plot and Decorate

fig = plt.figure(

   FigureClass=Waffle,

   plots={

       '111': {

           'values': df['counts'],

           'labels': ["{0} ({1})".format(n[0], n[1]) for n in df[['class', 'counts']].itertuples()],

           'legend': {'loc': 'upper left', 'bbox_to_anchor': (1.05, 1), 'fontsize': 12},

           'title': {'label': '# Vehicles by Class', 'loc': 'center', 'fontsize':18}

       },

   },

   rows=7,

   colors=colors,

   figsize=(16, 9)

)

圖31

圖9

10. 餅圖 (Pie Chart)

餅圖是顯示組成的經典方式。 然而,現在通常不建議使用它,因為餡餅部分的面積有時會變得誤導。 因此,如果您要使用餅圖,強烈建議明確記下餅圖每個部分的百分比或數字。

# Import

df_raw = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")

# Prepare Data

df = df_raw.groupby('class').size()

# Make the plot with pandas

df.plot(kind='pie', subplots=True, figsize=(8, 8))

plt.title("Pie Chart of Vehicle Class - Bad")

plt.ylabel("")

plt.show()

圖10-1

圖10-2

六、變化 (Change)11. 時間序列圖 (Time Series Plot)

時間序列圖用於顯示給定度量隨時間變化的方式。 在這裡,您可以看到 1949年 至 1969年間航空客運量的變化情況。

# Import Data

df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')

# Draw Plot

plt.figure(figsize=(16,10), dpi= 80)

plt.plot('date', 'traffic', data=df, color='tab:red')

# Decoration

plt.ylim(50, 750)

xtick_location = df.index.tolist()[::12]

xtick_labels = [x[-4:] for x in df.date.tolist()[::12]]

plt.xticks(ticks=xtick_location, labels=xtick_labels, rotation=0, fontsize=12, horizontalalignment='center', alpha=.7)

plt.yticks(fontsize=12, alpha=.7)

plt.title("Air Passengers Traffic (1949 - 1969)", fontsize=22)

plt.grid(axis='both', alpha=.3)

# Remove borders

plt.gca().spines["top"].set_alpha(0.0)    

plt.gca().spines["bottom"].set_alpha(0.3)

plt.gca().spines["right"].set_alpha(0.0)    

plt.gca().spines["left"].set_alpha(0.3)  

plt.show()

圖11

12. 帶波峰波谷標記的時序圖 (Time Series with Peaks and Troughs Annotated)

下面的時間序列繪製了所有峰值和低谷,並注釋了所選特殊事件的發生。

圖12

七、分組 (Groups)13. 樹狀圖 (Dendrogram)

樹形圖基於給定的距離度量將相似的點組合在一起,並基於點的相似性將它們組織在樹狀連結中。

import scipy.cluster.hierarchy as shc

# Import Data

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv')

# Plot

plt.figure(figsize=(16, 10), dpi= 80)  

plt.title("USArrests Dendograms", fontsize=22)  

dend = shc.dendrogram(shc.linkage(df[['Murder', 'Assault', 'UrbanPop', 'Rape']], method='ward'), labels=df.State.values, color_threshold=100)  

plt.xticks(fontsize=12)

plt.show()

圖13

14. 簇狀圖 (Cluster Plot)

簇狀圖 (Cluster Plot)可用於劃分屬於同一群集的點。 下面是根據USArrests數據集將美國各州分為5組的代表性示例。 此圖使用「謀殺」和「攻擊」列作為X和Y軸。 或者,您可以將第一個到主要組件用作X軸和Y軸。

from sklearn.cluster import AgglomerativeClustering

from scipy.spatial import ConvexHull

# Import Data

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv')

# Agglomerative Clustering

cluster = AgglomerativeClustering(n_clusters=5, affinity='euclidean', linkage='ward')  

cluster.fit_predict(df[['Murder', 'Assault', 'UrbanPop', 'Rape']])  

# Plot

plt.figure(figsize=(14, 10), dpi= 80)  

plt.scatter(df.iloc[:,0], df.iloc[:,1], c=cluster.labels_, cmap='tab10')  

# Encircle

def encircle(x,y, ax=None, **kw):

   if not ax: ax=plt.gca()

   p = np.c_[x,y]

   hull = ConvexHull(p)

   poly = plt.Polygon(p[hull.vertices,:], **kw)

   ax.add_patch(poly)

# Draw polygon surrounding vertices    

encircle(df.loc[cluster.labels_ == 0, 'Murder'], df.loc[cluster.labels_ == 0, 'Assault'], ec="k", fc="gold", alpha=0.2, linewidth=0)

encircle(df.loc[cluster.labels_ == 1, 'Murder'], df.loc[cluster.labels_ == 1, 'Assault'], ec="k", fc="tab:blue", alpha=0.2, linewidth=0)

encircle(df.loc[cluster.labels_ == 2, 'Murder'], df.loc[cluster.labels_ == 2, 'Assault'], ec="k", fc="tab:red", alpha=0.2, linewidth=0)

encircle(df.loc[cluster.labels_ == 3, 'Murder'], df.loc[cluster.labels_ == 3, 'Assault'], ec="k", fc="tab:green", alpha=0.2, linewidth=0)

encircle(df.loc[cluster.labels_ == 4, 'Murder'], df.loc[cluster.labels_ == 4, 'Assault'], ec="k", fc="tab:orange", alpha=0.2, linewidth=0)

# Decorations

plt.xlabel('Murder'); plt.xticks(fontsize=12)

plt.ylabel('Assault'); plt.yticks(fontsize=12)

plt.title('Agglomerative Clustering of USArrests (5 Groups)', fontsize=22)

plt.show()

圖14

以上 14 種可視化圖表都可以通過 Python 來實現,甚至還可以完成更多類型的,包含 Matplotlib、Seaborn、Plotnine、Plotly 等。數據可視化是數據分析和機器學習的重要環節,比如數據清洗、特徵工程、機器學習、數據分析(特別是報告)、評估等環節都會用到「數據可視化」技術。

掃碼特價訂閱

用 Python 搞定數據可視化

原文: 

Top 50 matplotlib Visualizations – The Master Plots (with full python code)

https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/

點擊閱讀原文,用 Python 輕鬆搞定數據可視化

相關焦點

  • 高效使用 Python 可視化工具 Matplotlib
    是Python中最常用的可視化工具之一,可以非常方便地創建海量類型的2D圖表和一些基本的3D圖表。基本前提如果你除了本文之外沒有任何基礎,建議用以下幾個步驟學習如何使用matplotlib:學習基本的matplotlib術語,尤其是什麼是圖和坐標軸始終使用面向對象的接口,從一開始就養成使用它的習慣用基礎的pandas繪圖開始你的可視化學習用seaborn進行更複雜的統計可視化用matplotlib來定製
  • Python可視化:學會Matplotlib這幾點就夠了!
    python分析可視化展示,對於日常的分析中主要用到餅圖、折線圖、直方圖基本能滿足一般的分析可視化呈現。#y軸文字標籤plt.savefig('test',dpi=600) #保存圖片plt.show() #可視化圖形展示Python中的Matplotlib可視化編程整體結構主要有以下幾部分組成:(1)導入Matplotlib庫來進行(2)為了圖表可視化中文顯示必備代碼(3)可視化核心代碼,依據不同的圖形使用不同函數如直方圖:plt.plot
  • Matplotlib數據可視化!
    一、 常用可視化工具Python有許多用於數據可視化的庫,例如常見的有seaborn、pyecharts(echarts的Python版本)、ggplot(移植於R語言的ggplot2,但是有些差別,Python有其他方法可以調用R語言的ggplot2)、bokeh、Plotly(同時支持Python和R語言)等等,這些大多是基於Matplotlib
  • python:matplotlib入門詳細教程
    與之齊名,matplotlib作為數據科學的的另一必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。本篇對matplotlib進行系統性介紹,不會面面俱到,但求體系完備、詳略得當。
  • python使用matplotlib畫動態圖
    matplotlib是python的核心繪圖庫,是python的一個開源項目,旨在為python提供一個繪圖庫。matplotlib與numpy組合是一種可行的matlab替代方案。在可視化中matplotlib是最常使用的工具,是對數據整體判斷、效果預測不可或缺的重要模塊。
  • Python數據可視化,無法繞過的matplotlib基礎知識!!!
    matplotlib是python優秀的數據可視化庫,python數據分析必備利器,本文專門為你整理了matplotlib詳細使用方法,來學習吧!--- 以下是正文 ---數據可視化非常重要,因為錯誤或不充分的數據表示方法可能會毀掉原本很出色的數據分析工作。
  • 數據可視化|matplotlib 的主要組成元素
    >matplotlib 是 Python 中的一個繪圖庫,具有可定製性強、圖表資源豐富等特點,既能創建靜態圖形,也能創建動態交互的數據可視化效果;既能創建 2D 圖形,也能創建 3D 圖形;既能創建常見的簡單圖形,也能創建統計學專業的複雜圖形。ma
  • 數據可視化最有價值的50個圖表 | 網際網路數據資訊網-199IT | 中文...
    Tips:本文原文部分代碼有不準確的地方,已進行修改;所有正確的原始碼,已整合到 jupyter notebook 文件中;運行本文代碼,除了安裝 matplotlib 和 seaborn
  • 帕累託法則:介紹和python-matplotlib可視化
    而是一種觀察:20%的商店產生80%的收入;20%的軟體錯誤導致80%的系統崩潰;20%的產品功能驅動80%的銷售;一個公司,80%利潤來自於20%的暢銷產品,而其他80%的產品只產生了20%的利潤;在一個國家的醫療體系中,20%的人口與20%的疾病,會消耗80%的醫療資源;男性約會成功,80%的女性會爭奪20%的最具吸引力的男性
  • Matplotlib數據可視化方法總結
    一、 常用可視化工具Python有許多用於數據可視化的庫,例如常見的有seaborn、pyecharts(echarts的Python版本)、ggplot(移植於R語言的ggplot2,但是有些差別,Python有其他方法可以調用R語言的ggplot2)、bokeh、Plotly(同時支持Python和R語言)等等,這些大多是基於Matplotlib
  • 使用Matplotlib可視化數據的5個強大技巧
    數據可視化用於以更直接的表示方式顯示數據,並且更易於理解。它可以用柱狀圖、散點圖、折線圖、餅圖等形式形成。許多人仍然使用Matplotlib作為後端模塊來可視化他們的圖形。在這個故事中,我將給你一些技巧,使用Matplotlib創建一個優秀圖表的5個強大技巧。1.
  • python數據科學系列:matplotlib入門詳細教程
    與之齊名,matplotlib作為數據科學的的另一必備庫,算得上是python可視化領域的元老,更是很多高級可視化庫的底層基礎,其重要性不言而喻。本篇對matplotlib進行系統性介紹,不會面面俱到,但求體系完備、詳略得當。
  • Python-matplotlib 學術型散點圖繪製
    本期推文只要介紹學術散點圖的繪製教程,涉及的內容主要還是matplotlib散點圖的繪製,只不過添加了相關性分析,擬合關係式和顏色映射散點密度(大多數的英文文章中多出現此類圖表
  • Python-Matplotlib: 官方學習手冊獲取與學習
    程式語言及其數值數學擴展包 NumPy的可視化操作界面。此外,matplotlib還有一個基於圖像處理庫(如開放圖形庫OpenGL)的pylab接口,其設計與MATLAB非常類似--儘管並不怎麼好用。SciPy就是用matplotlib進行圖形繪製。matplotlib最初由John D. Hunter撰寫,它擁有一個活躍的開發社區,並且根據BSD樣式許可證分發。在John D.
  • Matplotlib入門詳細教程
    matplotlib不是python內置庫,調用前需手動安裝,且需依賴numpy庫。截至當前,matplotlib發行版本號為3.2.1,適配python3.6及以上版本。當然,之所以不能稱pyplot為一級命名空間的原因,不僅僅在於它在形式上隸屬於matplotlib,最主要的在於它還不算是matplotlib的「獨裁者」,因為matplotlib的另一個重要模塊——pylab——或許稱得上是真正意義上的集大成者:pylab被定位是python中對MATLAB的替代產品,也就是說凡是MATLAB可以實現的功能,pylab通通都要有,例如矩陣運算(包括常規矩陣運算
  • 不會做圖表?10個Python數據可視化庫來幫你!
    大家好,我是小五~ 今天我們會介紹一下10個適用於多個學科的Python數據可視化庫,其中有名氣很大的也有鮮為人知的。 1、matplotlib 兩個直方圖 matplotlib 是Python可視化程序庫的泰鬥。經過十幾年它任然是Python使用者最常用的畫圖庫。它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。
  • Python-matplotlib: 散點圖的繪製
    如下:import seaborn as snsimport matplotlib.lines as mlinesfrom mpl_toolkits.axes_grid1.inset_locator import inset_axesfrom matplotlib.patches import Rectangleplt.rcParams
  • 如何構建一個基於可視化理論的完美Python圖表?
    信息展示的支柱圖表的完整性這代表演示的真實性。通過確保正確縮放坐標軸並反映趨勢,可以如實地解釋數據。從長遠來看,真實總是更有價值。每個人都至少目睹過一個帶有非線性y軸的圖,以使假設看起來更有說服力——請發誓永遠不會這樣做。
  • 50個Matplotlib可視化最有價值的圖表(附完整Python源碼)(下)
    箱形圖箱形圖是一種可視化分布的好方法,記住中位數,第25個第45個四分位數和異常值。但是,您需要小心解釋可能會扭曲該組中包含的點數的框的大小。因此,手動提供每個框中的觀察數量可以幫助克服這個缺點。分類圖由Seaborn庫提供的分類圖可用於可視化彼此相關的2個或更多分類變量的計數分布。
  • Python的可視化工具概述
    看起來基本不錯.理想情況下,我想多做一些y軸的格式化,但需要matplotlib 的處理.這是個完美有用的可視化,但是不能通過pandas做更多純粹的定製.SeabornSeaborn是一個基於matplotlib的可視化庫.旨在讓默認的數據可視化更加悅目.同時讓複雜的圖表更簡單的創建.它和pandas集成.我的例子不允許Seaborn 顯著差異.我喜歡Seaborn 的一個原因是各種各樣的內置樣式,讓你快速更改調色板以看起來更加漂亮.因此,關於簡單的圖表Seaborn沒有為我們做很多.