matplotlib

matplotlib是pyhton的一个数据可视化包,方便展示数据分析结果。其仿照matlab构建。

可以使用cmd通过pip命令安装:pip install matplotlib

使用matplotlib绘图只使用其中的pyplot模块,所以导入库的时候一般使用:

from matplotlib import pyplot as plt(下面介绍的函数方法默认都是plt对象的)

目录

  • matplotlib
    • 1,绘制折线图
      • 1.1,设置图大小和保存图片
      • 1.2,设置x,y轴
      • 1.3,给图添加描述信息
      • 1.4,绘制网格
      • 1.5,绘制多次图形
      • 1.5,设置线条颜色和风格
    • 2,绘制其他常用统计图
      • 2.1,绘制散点图
      • 2.2,绘制条形图
      • 2.3,绘制直方图

1,绘制折线图

使用plot(x,y)函数绘制图,show函数显示图

# 简单使用
from matplotlib import pyplot as plt
# 初始化x轴的数字列表
x = range(2,26,2)
y = [15,13,14.5,17,20,25,26,26,24,22,18,15]
# 绘制折线图并显示
plt.plot(x,y)
plt.show()

1.1,设置图大小和保存图片

通过plt.figure()函数设置图的大小等参数

# 例子
from matplotlib import pyplot as plt
# 定义之后绘图会自动使用该绘图配置
fig = plt.figure(figsize=(10,10),dpi=80) x = range(2,26,2)
y = [15,13,14.5,17,20,25,26,26,24,22,18,15]
plt.plot(x,y)# 保存图
plt.savefig("./figure/figure_2.png")  # 也可以使用svg后缀生成矢量图,但是只能网页使用

1.2,设置x,y轴

通过xticks()yticks函数设置x轴和y轴坐标刻度,参数为刻度数组。

from matplotlib import pyplot as plt
x = range(2,26,2)
y = [15,13,14.5,17,20,25,26,26,24,22,18,15]
plt.plot(x,y)   # 坐标轴上只会显示列表中的数字
plt.xticks(x)   # 设置x轴的刻度
plt.yticks(y)   # 设置x轴的刻度plt.show()
  • 其他小技巧:
#可以使用列表推导式生成x轴刻度,例如:
x_label = [i/2 for i in range(0,52,1)]     # 列表推导式: [可含i表达式 for i in 列表]
# python列表步长path取值
list[::path]
# 可以通过 min() 和 max() 函数快速获得某数组的最大最小值,来快速获取合适的坐标轴刻度
x_label = range(min(x),max(x)+1)      # range()函数最大取不到,要+1
  • 例子:绘制两小时随机气温图:
from matplotlib import pyplot as plt
import randomx = range(1,2*60+1)
y = [random.randint(20,35) for i in range(120)]
plt.plot(x,y)
plt.show()

设置字符串类型的x,y轴刻度,可以通过xticks()yticks函数配合列表推导式完成

# 生成11:00到12:00每分钟的随机温度图
from matplotlib import pyplot as plt
import randomx = range(1,121)
label_x = ["{}:{}".format(int(i/60+11),int(i%60)) for i in x[::10]]
y = [random.randint(20,35) for i in range(120)]
plt.plot(x,y)
plt.xticks(x[::10],label_x)     # 刻度值和刻度标签要对应,但是刻度值和点不用一一对应
plt.show()

设置坐标轴标签旋转:可通过xticks()yticksrotation参数来设置

plt.xticks(x[::10],label_x,rotation = 30)   # 参数值大小为标签顺时针旋转的角度# 会有一个Bug:中文不显示
# 防止坐标轴刻度转动不显示中文    (其他方法P6)
import matplotlib
font = {'family' : 'MicroSoft YaHei',  # 也可以KaiTi'weight' : '10','size'   : '10'}
matplotlib.rc("font",**font)# 另一种方法
from  matplotlib import font_manager
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\SIMLI.TTF')
plt.xticks(x[::10],label_x,rotation = 30,fontproperties=my_font)

1.3,给图添加描述信息

设置x,y轴标签可以通过xlabelylabel来设置。图的标题可以通过title函数来设置

# 例:
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("11:00 ~ 12:00气温折线图")

1.4,绘制网格

使用grid()方法设置网格,默认网格和坐标轴刻度对齐

plt.grid()
# 参数:alpha:网格线不透明度
plt.grid(alpha = 0.1)

1.5,绘制多次图形

多次调用plot函数即可多次画图,并通过label参数并调用legend方法设置图例

from matplotlib import pyplot as plt
from matplotlib import font_manager
import randommy_font = font_manager.FontProperties(fname='C:\Windows\Fonts\SIMLI.TTF')
x = range(1,2*60+1)
plt.figure(figsize=(20,8),dpi=80)
y1 = [random.randint(20,35) for i in range(120)]
y2 = [random.randint(20,35) for i in range(120)]
plt.plot(x,y1,label='A地')
plt.plot(x,y2,label='B地')
plt.legend(prop=my_font,loc=0)        # prop 参数设置字体   loc 设置图例位置,默认0为最佳位置,其他位置看源码(需要再深入一层)
plt.show()

1.5,设置线条颜色和风格

可通过plot方法的color参数设置线条的颜色:r/g/b/w/c/m/y/k/#00ff00

可通过plot方法的linestyle参数设置线条的风格:-/–/-./

【泰迪杯-数据分析-1】matplotlib相关推荐

  1. 2022泰迪杯数据分析技能赛B题方案及赛后总结:银行客户忠诚度分析

    第五届"泰迪杯"数据分析技能赛(B题)『一等奖』,@队友:东可在编程.好同志歪歪 B题题目为"银行客户忠诚度分析",题目给出了短期客户产品购买数据"s ...

  2. 2022第五届“泰迪杯”数据分析技能赛-B题-银行客户忠诚度分析(下)

    2022第五届"泰迪杯"数据分析技能赛-B题-银行客户忠诚度分析(上)链接:https://blog.csdn.net/weixin_60200880/article/detail ...

  3. 2022第五届“泰迪杯”数据分析技能赛-B题-银行客户忠诚度分析(上)

    新手参加比赛,不足之处敬请谅解 题目链接:链接:https://pan.baidu.com/s/1x1U-kobvPjNMm8xnvS9Gdg  提取码:7id3 目录 任务1 数据探索与清洗 任务1 ...

  4. 华南理工大学广州学院计算机二级,华南理工大学广州学院学子在第三届“泰迪杯”数据分析职业技能大赛中荣获佳绩...

    12月19日,第三届泰迪杯数据分析职业技能大赛落下帷幕并公示了获奖名单.华南理工大学广州学院获得国家二等奖一项,国家三等奖两项的好成绩,这是我华南理工大学广州学院首次有组织地参与该赛事.本次竞赛由计算 ...

  5. 数据增长率怎么算_2019 年“泰迪杯”数据分析职业技能大赛A题 超市销售数据分析...

    一.分析背景 近年来,随着新零售业的快速发展,消费者购买商品时有了更多的对比和选择,导致超市行业的竞争日益激烈,利润空间不断压缩.超市的经营管理产生了大量数据,对这些数据进行分析,可以提升超市的竞争力 ...

  6. 数学建模亚太赛优秀论文_泰迪杯数据分析职业技术大赛总结暨亚太地区大学生数学建模经验分享会...

    相信不少同学对泰迪杯数据分析职业技能大赛.APMCM亚太地区大学生数学建模竞赛应该略有耳闻 那么这泰迪杯数据分析职业技能大赛.APMCM亚太地区大学生数学建模竞赛到底是什么呢 泰迪杯数据分析职业技能大 ...

  7. 2021 年“泰迪杯”数据分析技能赛 B 题 肥料登记数据分析 (视频讲解+解题源码)、数据挖掘、数据分析实战

    2021 年"泰迪杯"数据分析技能赛 B 题 肥料登记数据分析 (视频讲解+解题源码).数据挖掘.数据分析实战 前言: 整理了2021 年"泰迪杯"数据分析技能 ...

  8. 第五届“泰迪杯”数据分析技能赛 经验代码分享

    第五届"泰迪杯"数据分析技能赛 经验/代码分享 品牌:"泰迪杯"数据分析技能赛 组织单位:泰迪杯数据分析技能赛组织委员会.广东泰迪智能科技股份有限公司.广东省工 ...

  9. 第五届泰迪杯数据分析技能大赛思路

    各有关单位: 为推广我国高校数据分析实践教学,培养学生数据分析的应用和创新能力,增加校企交流合作和信息共享,提升我国高校的教学质量和企业的竞争能力,"泰迪杯"数据分析技能赛(以下简 ...

  10. 第五届“泰迪杯”数据分析技能赛

    为推广我国高校数据分析实践教学,培养学生数据分析的应用和创新能力,增加校企交流合作和信息共享,提升我国高校的教学质量和企业的竞争能力,"泰迪杯"数据分析技能赛(以下简称竞赛)于20 ...

最新文章

  1. 在Ubuntu 16.04.5 LTS上安装pygame模块
  2. centos7 中搭建gitlab
  3. 物联网改变生活——飞思卡尔技术论坛中国站侧记
  4. 转:MFC中常用类,宏,函数介绍
  5. apache 二级域名设置
  6. ai不同形状的拼版插件_AI矩形/异型自动排料插件AINester 16.0(支持Illustrator CC 2015/2017)...
  7. 百度熊掌推送php源码,织梦百度熊掌主动推送教程
  8. python class tynu()_Visual Studio Express | Teraz Visual Studio Community
  9. [笔记].浅析在Nios II中的两种寄存器映射方法的异同
  10. python网络爬虫_爬图片
  11. 十大算法 — 选择排序法【C语言代码诠释】
  12. JS学习总结(11)—— JSON
  13. IPhone开发从零开始之1-构思你的产品
  14. PDF、图片、合并、转化工具
  15. Mirth Connect的简单使用
  16. Node.js 4493图片批量下载爬虫1.00
  17. python连通域提取 原理_连通域的原理与Python实现
  18. [转] 串行传输 VS 并行传输
  19. vi格式化输出Json格式数据方便查看修改
  20. Google Earth Engine(GEE)提取水体

热门文章

  1. PEGAXY首创科幻类赛马游戏
  2. 树莓派点灯笔记(论如何学好控制IO输出)
  3. 如何给pdf添加页码?
  4. Redis实战——分布式锁
  5. Spring 项目启动错误提示 LoggingApplicationListener
  6. 简单的有限元分析(python)
  7. JunOS VRRP configuration
  8. 果园机器人能干什么_《果园机器人》教案
  9. 视频号、抖音、快手狙击付费直播
  10. 高数习题第八章总练习题(下)