Matplotlib(基本用法)
Matplotlib 是数据分析绘图的常见模块,可以算是 2D-绘图(Python)领域使用最广泛的套件,可以将数据图形化,并且提供多样化的输出格式,利于数据的显示并分析。
接下来展示的是Matplotlib 常见绘制的图形,也是我自己对知识的一种总结。
# 模块的导入
import matplotlib.pyplot as plt
import numpy as np
matplotlib经常会遇到中文显示不出来的问题,中文乱码设置一般在设置样式之后,之前一直没注意顺序,导致一直没看到效果()
# 设置样式
plt.style.use('seaborn')
# 设置中文乱码
plt.rcParams['font.sans-serif'] = 'KaiTi'
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
# 忽视警告
import warnings
warnings.filterwarnings('ignore')
绘制折线图,折线图可以直观得对比数据间的变化
# 构造数据
breakfast = [4,8,8,6,10,4]
lunch = [25,10,10,15,50,15]
dinner = [20,30,10,30,50,40] # 绘制折线图
plt.plot(breakfast,label='breakfast',linewidth=4,c='green')
plt.plot(lunch,label='lunch',linewidth=4,c='blue')
plt.plot(dinner,label='dinner',linewidth=4,c='pink')

# 绘制曲线图
plt.figure(figsize=(15,5)) # 设置画布
x = np.linspace(1,10,num=100)
plt.subplot(1,3,1) # 添加分布 1行3列 第1列画布绘制
plt.plot(x,np.sin(x),linewidth='7',color='blue') # 正弦
plt.subplot(1,3,2) # 第2列画布绘制
plt.plot(x,np.cos(x),linewidth='7',color='red') # 余弦
plt.subplot(1,3,3) # 第3列画布绘制
plt.plot(x,np.tanh(x),linewidth='7',color='green') # 正切

绘制散点图 一般用于查看数据是否线性相关 中间可以添加直线分析
# 绘制散点图
x = np.random.rand(100) # rand:服从“0~1”均匀分布的随机样本值均匀分布
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.rand(100)*400
plt.scatter(x,y,c=colors,s=sizes)

绘制条形图 可以多数据(例如每一年4个季度,一起比较分析)
# 绘制纵向条形图
x=[2020,2025,2030,2035]
y=[1000,3000,4000,5000] plt.figure(figsize=(15,5)) # 设置画布 plt.subplot(1,2,1)
plt.xticks(x,[f'{x}年' for x in x]) # 横坐标的刻度尺
plt.bar(x,y,width=3)
plt.xlabel('年') # 横坐标标签
plt.ylabel('销量') # 纵坐标标签
plt.title('根据年份销量对比图') # 绘制横向条形图
plt.subplot(1,2,2)
plt.yticks(x,[f'{x}年' for x in x])
bars = plt.barh(x,y,height=3,color='lightblue')
for bar,d in zip(bars,y):
x = bar.get_width() + bar.get_width()*0.01
y = bar.get_y() + bar.get_height()/3
text_data = d
plt.text(x,y,text_data,fontsize=13)
plt.xlabel('销量')
plt.ylabel('年')
plt.title('根据年份销量对比图')

# 构造数据
全市 = 17560061
福田区 = 1553225/全市
罗湖区 = 1143801/全市
盐田区 = 214225/全市
南山区 = 1795826/全市
宝安区 = 4476554/全市
龙岗区 = 3979037/全市
龙华区 = 2528872/全市
坪山区 = 551333/全市
光明区 = 1095289/全市
大鹏新区 = 156236/全市 explode = (0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0)
labels = ['福田区','罗湖区','盐田区','南山区','宝安区','龙岗区','龙华区','坪山区','光明区','大鹏新区']
paches,texts,autotexts = plt.pie([福田区,罗湖区,盐田区,南山区,宝安区,龙岗区,龙华区,坪山区,光明区,大鹏新区],
autopct='%0.1f%%',
labels=labels,
explode=explode)
plt.title('深圳市第七次全国人口普查——分区人口情况') for text in texts:
text.set_fontsize(10)
text.set_color('blue') for t in autotexts:
t.set_fontsize(10)
t.set_color('white')

# 绘制直方图
x = np.random.rand(100) plt.hist(x,bins=10,align='mid',rwidth=0.8,histtype='barstacked') # rwidth 控制着间隙的宽度

# 绘制盒图
data = [np.random.normal(0,i,100) for i in range(1,4)]
# vert:是否需要将箱线图垂直摆放,默认垂直摆放
# notch:是否是凹口的形式展现箱线图,默认非凹口
plt.boxplot(data,vert=True,notch=True)
plt.title('boxplot')
plt.xticks([1,2,3],['box1','box2','box3']) # 横坐标三个刻度尺,分别对应三个值

from mpl_toolkits.mplot3d import Axes3D
x = np.linspace(-10,10,100)
y = np.linspace(-10,10,100)
X,Y = np.meshgrid(x,y) # 网格线
z = np.sqrt(X**2+Y**2)
ax = Axes3D(plt.figure())
ax.plot_surface(x,y,z)

Matplotlib(基本用法)的更多相关文章
- matplotlib基本用法-【老鱼学matplotlib】
本文介绍一下matplotlib的最基本用法. 这次我们要显示一个线性方程的直线. 首先要引入matplotlib库,一般是用plt这个简写的,我们就按照大多数人的惯例来进行命名: import ma ...
- matplotlib 高级用法实例--共享x轴
http://localhost:8888/notebooks/duanqs/matplotlib_advanced_example.ipynb 我不会弄呀, 刚才从matplotlib文档里吧示例用 ...
- Matplotlib 绘图 用法
Matplotlib基础知识 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 x轴和y轴 axis 水平和垂直的轴线 x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...
- Matplotlib 基本用法
1.基础应用 >>> import matplotlib.pyplot as plt >>> import numpy as np #使用np.linspace定义 ...
- 数据分析——matplotlib的用法
Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据分析的最终 ...
- Matplotlib用法
一 环境安装 Make sure you have installed numpy. 先安装np pip install matplotlib (Python2.X) pip3 install mat ...
- [数据]matplotlib总结
这里权当一个matplotlib的用法小结,主要用于记录,以防忘记. 需要安装一下Anaconda,这里推荐清华大学的镜像:https://mirrors.tuna.tsinghua.edu.cn/h ...
- 数据可视化之Matplotlib的使用
1.什么是数据可视化 数据可视化在量化分析当中是一个非常关键的辅助工具,往往我们需要通过可视化技术,对我们的数据进行更清晰的展示,这样也能帮助我们理解交易.理解数据.通过数据的可视化也可以更快速的发现 ...
- matplotlib | Python强大的作图工具,让你从此驾驭图表
今天是数据处理专题的第9篇文章,在之前的8篇文章当中我们已经介绍完了pandas这个库的一些基本用法,我们先把一些冷门的高级用法放一放,先来给大家介绍一下另外一个很有用的数据分析库--matplotl ...
- 前置机器学习(五):30分钟掌握常用Matplitlib用法
Matplotlib 是建立在NumPy基础之上的Python绘图库,是在机器学习中用于数据可视化的工具. 我们在前面的文章讲过NumPy的用法,这里我们就不展开讨论NumPy的相关知识了. Matp ...
随机推荐
- DOM 事件与事件委托
DOM 事件与事件委托 本文写于 2020 年 5 月 28 日 先思考一个问题:我们如何给一百个 button 添加点击事件? 遍历? 那岂不是要添加一百个监听器? 这就需要事件委托了. 其实这根本 ...
- 2022年5月11日,NBMiner发布了41.3版本,在内核中加入了100%LHR解锁器,从此NVIDIA的显卡再无锁卡一说
2022年5月11日,NBMiner发布NBMiner_41.3版本,主要提升了稳定性. 2022年5月8日,NBMiner发布NBMiner_41.0版本,在最新的内核 ...
- windows 10 21H1 顶部任务栏点击音量或其他图标不出弹框
右键任务栏,按照图片中描述操作
- 693. Binary Number with Alternating Bits - LeetCode
Question 693. Binary Number with Alternating Bits Solution 思路:输入一个整数,它的二进制01交替出现,遍历其二进制字符串,下一个与上一个不等 ...
- iTextSharp 提取签名图像
原文 本文使用 iTextSharp 5.5.13.2,记录使用 iTextSharp 提取图片时,获得的知识点. pdf 中的签名并不是单纯的一张图片,它是由一张基础的底色图和一张蒙版图片组成.需要 ...
- 安装vsFTP到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:vsftpd-3.0.2 硬件要求:无 安装过程 1.安装YUM-EPEL存储库 YUM-EPE ...
- Java中如何快捷的创建不可变集合
在Java 9中又新增了一些API来帮助便捷的创建不可变集合,以减少代码复杂度. 本期配套视频:Java 9 新特性:快速定义不可变集合 常规写法 以往我们创建一些不可变集合的时候,通常是这样写的: ...
- Base64 编码知识,一文打尽!
现在网站为了提升用户的浏览体验越来越多的使用了图片,而这些图片通常以 Base64 的形式存储和加载.因此各位开发工程师肯定对 Base64 毫不陌生了,那么你知道 Base64 究竟是什么,为什么要 ...
- MySql笔记Ⅰ
MySql part 1: 数据库概念 数据库:(DataBase, 简称DB):数据库中的数据按一定的数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并可为各种 用户共享 数 ...
- 【Unity Shader学习笔记】Unity光照基础-高光反射
1.原理 1.1.Phong模型 计算高光反射需要表面法线.视角方向.光源方向.反射方向等. 在这四个矢量中,我们实际上只需要知道其中3个矢量即可,而第4个矢量(反射方向r)可以通过其他信息计算得到: ...