python中Matplotlib基础绘图

目录

一、前言   

二、下载模块

2.1numpy

2.2 matplotlib

三、项目实施

3.1散点图

3.2饼图

四、项目总结


一、前言   

Matplotlib是python语言里的一个可视化的一个模块其中应用较广的是 matplotlib.pyplot(简称为 pyplot)模块在 pyplot 模续中,各种状态可跨函数调用和保存,以便跟踪诸如当前图形和绘图区域等,并且绘图面数始终指向当前轴域(x轴和y轴所围成的区域)。除 Maplotlib 之外,常用的数据可视化库还有 seabom库和 pyecharts库。seabom 库是基于 Matplotlib 的Python 可视化库,它提供了一种高度交互式的界面。pyechants是一个将Pyhon与Echars 相结合的强大的数据可视化库,它具有简洁的 API设计、囊括 30多种常见图表,支持主流Notebook 环境,可轻松集成至 Flask、Django 等主流 Web 框架。

二、下载模块

pip install numpy
pip install matplotlib

2.1numpy

numpy(Numerical Python 的简称)是一个用于处理数组(特别是多维数组)和矩阵运算的库。它提供了大量的数学函数来操作这些数组,比如线性代数运算、统计功能等。numpy 的核心是一个强大的 N 维数组对象 ndarray,它是一个快速、灵活的大数据容器。

numpy 的主要特点和功能包括:

  1. 多维数组对象:ndarray,一个快速、灵活的大数据容器。
  2. 数学函数:用于对数组执行元素级计算、数学函数操作、逻辑操作、形状操作、排序、选择、I/O 等。
  3. 线性代数:包括矩阵乘法、特征值、逆等计算。
  4. 随机数生成:从各种分布中抽样。
  5. 统计功能:包括排序、唯一性、集合运算等。
  6. 广播功能:可以对不同形状的数组进行数学运算。

2.2 matplotlib

matplotlib 是一个用于创建高质量图形的 Python 绘图库。它非常适合制作线图、散点图、条形图、饼图、直方图等。matplotlib 的设计类似于 MATLAB,提供了与 MATLAB 相似的接口和绘图风格。

matplotlib 的主要特点和功能包括:

  1. 多种绘图类型:支持线图、散点图、条形图、饼图、等高线图、3D 图等。
  2.  高度定制:可以控制图的每个方面,包括线条样式、颜色、标记样式等。
  3. 图例和注释:可以轻松添加图例、标题、坐标轴标签等。
  4. 子图:可以在一个窗口中绘制多个图形。
  5. 交互式图形:支持交互式缩放和浏览图形。
  6. 保存和导出:可以将图形保存为多种格式,包括 PNG、PDF、SVG 等。

三、项目实施

3.1散点图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'#设置中文显示
plt.rcParams['axes.unicode_minus']= False
data = np.load('tmp/2001-2019年劳动力与就业人员数据.npz',encoding='ASCII',allow_pickle=True)
columns= data['arr_0'] #提取其中的 columns 数组,视为数据的标签
values = data['arr_1'] #提取其中的 values 数组,视为数据的存在位置
plt.figure(figsize=(12,6),dpi=1080)#设置画布
plt.scatter(values[:,0], values[:,1], marker='o') # 绘制散点
plt.xlabel('年份(年)')
plt.ylabel('劳动力人数(万人)')
plt.ylim(70000,85000)#设置y轴范围
plt.xticks(range(2001,2020,1),labels=values[:,0])
plt.title('2001年-2019年劳动力人数散点图')#添加图表标题
plt.show()

plt.rcParams:

在 matplotlib中,plt.rcParams是一个字典对象,用于设置图形的全局样式。plt.rcParams['font.sans-serif']='SimHei'这行代码的作用是设置图形的默认无衬线字体为“SimHei”。“SimHei”是一种常用于显示中文字符的字体。在 matplotlib 中显示中文时,如果默认字体不支持中文,则中文字符可能无法正确显示。通过设置 plt.rcParams['font.sans-serif'] 为支持中文的字体,可以确保中文字符在图形上正确渲染。

城乡就业人数:

p=plt.figure(figsize=(12,6),dpi=1080)# 设画布
#绘制散点图1
plt.scatter(values[:,0],values[:, 3],marker='o',c='b')
#绘制散点图2
plt.scatter(values[:,0],values[:, 4],marker='o', c='r')
plt.xlabel('年份(年)')
plt.ylabel('人数(万人)')
plt.ylim(20000,60000)#设v轴范围
plt.xticks(range(2001,2020,1),labels=values[:,0])
plt.legend(['城镇就业','就业人员'])#设置图例
plt.title('2001年-2019年城乡就业人数散点图')#添加图表标题
plt.show()

通过上图中点的颜色和形状的区别可以看出,在2001年-2019年期间,城镇就业
人员数量不断增加,增长幅度近 200%,乡村就业人员数量不断减少,2019年的乡村就业
人员数量较 2001年的乡村就业人员数量下降了30%左右。

3.2饼图

label=['城镇就业人员','乡村就业人数']
explode=[0.01,0.01]
p=plt.figure(figsize=(6,6),dpi=80)
plt.pie(values[-1,3:5],explode=explode,labels=label,autopct="%1.1f%%")
plt.title('2019年城乡就业人数分布饼图')
plt.show()

在matplotlib的饼图中,explode, labels, 和 autopct 是用于定制饼图外观的重要参数。

explode: 这是一个列表,其长度应与饼图的分片数量相同。每个元素代表对应分片偏离饼图中心的距离。例如,如果有一个包含三个部分的饼图,explode 可以设置为 [0, 0.1, 0],这样第二个分片就会稍微偏离饼图的中心,而其他两个分片则紧挨着中心。这有助于强调或突出某个特定的分片。

labels: 这是一个列表,包含每个饼图分片的标签。标签通常用于说明每个分片代表的含义。例如,如果饼图展示了不同水果的销售比例,labels 可以是 ['苹果', '香蕉', '橙子']。

autopct: 这是一个格式化字符串,用于在饼图的每个分片上显示百分比。"%1.1f%%" 表示显示小数点后一位的百分比。例如,如果一个分片代表了25.3%的数据,那么在该分片上就会显示25.3%。

饼图(Pie Graph)将各项数据的大小与各项数据总和的比例显示在一张“饼”中,以“饼块”的大小来确定每一项数据的占比。饼图可以比较清楚地反映出部分与部分、部分与整体之间的比例关系,易于显示每组数据相对于总数的比例,而且显示方式直观

pic函数的常用参数及其说明
x接收 aray。表示用于绘制饼图的数据。无默认值
explode接收 array。表示指定饼块与饼图圆心的偏移距离。默认为 None
labels接收 list。表示指定每一项数据的标签。默认为 None
colors接收特定 str 或包含颜色 str 的 aray。表示饼图颜色。默认为 None
autopct接收特定 str。表示指定数值的显示方式。默认为None
pctdistance接收 foat。表示每个饼块的中心与 autopct 生成的文本之间的比例。默认为 0.6
labedistance接收 foat。表示绘制的饼图标签到饼图圆心的距离。默认为1.1
radius接收 foat。表示饼图的半径。默认为1

四、项目总结

在Python中,Matplotlib是一个广泛使用的绘图库,它允许用户创建高质量、具有吸引力的图形和图表。Matplotlib基础绘图的意义主要体现在以下几个方面:

  1. 数据可视化:数据可视化是数据分析中至关重要的一环。通过Matplotlib,用户可以将大量的数据转换成直观的图表,如折线图、柱状图、散点图等,这有助于更好地理解数据的分布、趋势和关联性。
  2. 辅助决策:通过图表展示数据,决策者可以更快地识别出数据中的模式和异常,从而做出更明智的决策。例如,在商业分析中,通过观察销售额的柱状图,可以迅速发现哪些产品最受消费者欢迎,进而调整库存和市场策略。
  3. 交流和报告:Matplotlib生成的图表可以方便地嵌入到报告、论文或演示文稿中,使得数据的呈现更加直观和易于理解。这对于科学家、研究人员和数据分析师来说非常有用,因为他们需要经常与他人分享和讨论他们的发现。
  4. 探索和发现:在数据探索阶段,Matplotlib可以帮助研究人员发现数据中的隐藏模式。通过绘制不同类型的图表,可以观察到数据点之间的关系,识别出潜在的趋势和周期性变化,甚至发现异常值。
  5. 教学和演示:在教育领域,Matplotlib也是一个宝贵的工具。教师可以通过绘制图表来解释复杂的科学概念,使学生在视觉上更容易理解。同时,学生也可以使用Matplotlib来进行实验数据的可视化和分析。
  6. 灵活性和定制性:Matplotlib提供了丰富的定制选项,用户可以根据自己的需求调整图表的样式、颜色和布局。这种灵活性使得Matplotlib成为数据科学家和可视化专家的首选工具。
  7. 总的来说,Matplotlib基础绘图在Python数据分析、科学研究、教学演示等多个领域都具有重要意义。它不仅能够帮助用户更好地理解数据,还能够提高决策效率,促进知识的传播和交流。

参考文献:

Matplotlib介绍和基础操作

http://t.csdnimg.cn/0SDa8icon-default.png?t=N7T8http://t.csdnimg.cn/0SDa8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值