matplotlib安装与使用方法

目录

目录

前言

一、matplotlib安装

1.通过pip工具安装

2.通过PyCharm开发环境安装

二、常见绘图属性

2.1 绘图标记

2.2 基本颜色

2.3 线类型

2.4 标记大小与颜色

三、基本绘图

3.1 折线图 

3.2 散点图

3.3 饼图

3.4 条形图

3.5 双轴图

3.6 泡泡图

3.8 箱型图

3.9 高等线图

四、总结



前言

学习Matplotlib是探索数据可视化领域的重要一步。Matplotlib是一个功能强大、灵活且广泛使用的Python绘图库,它能够帮助你将数据以清晰、美观的方式呈现。在这次学习中,你将了解如何使用Matplotlib创建各种类型的图表,从简单的线图到复杂的三维图表。

一、matplotlib安装

下面介绍如何安装 matplotlib,安装方法有下面两种。

1.通过pip工具安装

在系统搜索框中输入cmd,单点“命令提示符”命令,打开“命令提示符”窗口,在命令提示符后输入安装命令。通过 pip 工具安装,安装命令如下:

pip install matplotlib 

2.通过PyCharm开发环境安装

运行PyCharm,选择 File 然后点击 Settings 命令,打开 Setting 窗口,选择 Project Interpreter 选项,然后点击+(添加)按钮,图片如下。

此时打开 Available Packages 窗口,在搜索文本框中输入需要添加的模块名称,如 matplotlib ,然后在列表中选择需要安装的模块,图片如下,单击 Install Package 按钮即可实现 matplotlib 模块的安装。

二、常见绘图属性

2.1 绘图标记

绘图过程如果我们想要给坐标自定义一些不一样的标记,就可以使用 plot() 方法的 marker 参数来定义。

以下实例定义了实心圆标记:

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([1, 3, 4, 5, 8, 9, 6, 1, 3, 4, 5, 2, 4])
 
plt.plot(ypoints, marker='o')
plt.show()

2.2 基本颜色

Matplotlib中最常用的颜色有以下八种,其字母表示、缩写及图例如下:

颜色字母缩写
红色redr
绿色greeng
蓝色blueb
黄色yellowy
蓝绿色cyanc
粉紫色magentam
黑色blackk
白色whitew

2.3 线类型

线类型标记描述
'-'实线
':'虚线
'--'破折线
'-.'点划线

2.4 标记大小与颜色

我们可以自定义标记的大小与颜色,使用的参数分别是:

  • markersize,简写为 ms:定义标记的大小。
  • markerfacecolor,简写为 mfc:定义标记内部的颜色。
  • markeredgecolor,简写为 mec:定义标记边框的颜色。

设置标记大小:

import matplotlib.pyplot as plt
import numpy as np
 
ypoints = np.array([6, 2, 13, 10])
 
plt.plot(ypoints, marker='o', ms=20)
plt.show()

三、基本绘图

3.1 折线图 

plot()函数画出一系列的点,并且用线将它们连接起来。看下例子:

x = np.linspace(0, np.pi)
y_sin = np.sin(x)
y_cos = np.cos(x)
 
ax1.plot(x, y_sin)
ax2.plot(x, y_sin, 'go--', linewidth=2, markersize=12)
ax3.plot(x, y_cos, color='red', marker='+', linestyle='dashed')

在上面的三个Axes上作画。plot,前面两个参数为x轴、y轴数据。ax2的第三个参数是 MATLAB风格的绘图,对应ax3上的颜色,marker,线型。

3.2 散点图

import matplotlib.pyplot as plt
import numpy as np
 
x = np.arange(10)
y = np.random.randn(10)
plt.scatter(x, y, color='red', marker='+')
plt.show()

散点图与折线图类似,也是一个个点构成的。但不同之处在于,散点图的各点之间不会按照前后关系以线连接起来。

3.3 饼图

import matplotlib.pyplot as plt
 
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')
 
fig1, (ax1, ax2) = plt.subplots(2)
ax1.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True)
ax1.axis('equal')
ax2.pie(sizes, autopct='%1.2f%%', shadow=True, startangle=90, explode=explode,
    pctdistance=1.12)
ax2.axis('equal')
ax2.legend(labels=labels, loc='upper right')
 
plt.show()

饼图也存在各种类型,主要包括基础饼图、分类饼图、立体感带阴影的饼图、环形图等。

3.4 条形图

import matplotlib.pyplot as plt
import numpy as np
 
np.random.seed(1)
x = np.arange(5)
y = np.random.randn(5)
 
fig, axes = plt.subplots(ncols=2, figsize=plt.figaspect(1./2))
 
vert_bars = axes[0].bar(x, y, color='lightblue', align='center')
horiz_bars = axes[1].barh(x, y, color='lightblue', align='center')
#在水平或者垂直方向上画线
axes[0].axhline(0, color='gray', linewidth=2)
axes[1].axvline(0, color='gray', linewidth=2)
plt.show()

条形图是一种以长方形的长度为变量的统计图表。柱形图用来比较两个或两个以上的数据(不同时间或者不同条件),只有一个变量,通常用于较小的数据集分析。

3.5 双轴图

import matplotlib.pyplot as plt
import numpy as np
 
# 准备数据
t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)
 
# 设置主轴
fig, ax1 = plt.subplots()
 
color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)
 
# 设置次轴
ax2 = ax1.twinx()
 
color = 'tab:blue'
ax2.set_ylabel('sin', color=color)
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)
 
fig.tight_layout()
plt.show()

在一些应用场景中,有时需要绘制两个 x 轴或两个 y 轴,这样可以更直观地显现图像,从而获取更有效的数据。Matplotlib 提供的 twinx() 和 twiny() 函数,除了可以实现绘制双轴的功能外,还可以使用不同的单位来绘制曲线,比如一个轴绘制对函数,另外一个轴绘制指数函数。

3.6 泡泡图

import matplotlib.pyplot as plt
import numpy as np
 
np.random.seed(19680801)
 
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2  # 0 to 15 point radii
 
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()

泡泡图是一种可视化多维数据的图表类型,通常用于同时表示三个维度的数据,其中两个维度决定了点的位置,而第三个维度通过点的大小来表示。在Matplotlib中,可以使用`plt.scatter()`函数创建泡泡图。

3.8 箱型图

import matplotlib.pyplot as plt
import numpy as np
 
# 利用随机数种子使每次生成的随机数相同
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]
 
fig = plt.figure()
# 创建绘图区域
ax = fig.add_subplot(111)
# 创建箱型图
bp = ax.boxplot(data_to_plot)
plt.show()

箱型图(也称为盒须图)于 1977 年由美国著名统计学家约翰·图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。

在箱型图中,我们从上四分位数到下四分位数绘制一个盒子,然后用一条垂直触须(形象地称为“盒须”)穿过盒子的中间。上垂线延伸至上边缘(最大值),下垂线延伸至下边缘(最小值)。


3.9 高等线图

import numpy as np
import matplotlib.pyplot as plt
 
"""
np.linspace()在指定的大间隔内[-4.0,4.0],返回固定间隔100个数据
"""
x = np.linspace(-4.0, 4.0, 100)
y = np.linspace(-4.0, 4.0, 100)
 
"""
np.meshgrid()两个坐标轴上的点在平面上画格,产生一个以向量x为行,向量y为列的矩
"""
X, Y = np.meshgrid(x, y)
 
# 定义Z与X,Y之间的关系,即原方程x²+y²=r²
Z = np.sqrt(X ** 2 + Y ** 2)
 
fig, axes = plt.subplots(1, 2, figsize=(16, 9))
 
axes[0].contour(X, Y, Z, alpha=0.75, cmap=plt.cm.hot)
 
cp = axes[1].contourf(X, Y, Z, cmap=plt.cm.hot)
 
fig.colorbar(cp)
plt.show()

等高线图(也称“水平图”)是一种在二维平面上显示 3D 图像的方法。等高线有时也被称为 “Z 切片”,如果您想要查看因变量 Z 与自变量 X、Y 之间的函数图像变化(即 Z=f(X,Y)),那么采用等高线图最为直观。

四、总结

数据统计得再好都不如一张图表清晰、直观。本章用大量的举例详细地介绍了 Matplotlib 图表,其
根本任丁能够使读者全面透彻地了解和掌握最基础的图表,并应用到实际数据统计分析工作甲,同时也为以后学习其他绘图库奠定坚实的基础。

如有想知道更加详细信息请前往Matplotlib — Visualization with Python获取更多内容。

想要了解更多关于大数据算法绘图功能请前往Quick BI官网_BI数据可视化分析工具_智能报表-阿里云 (aliyun.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值