单折线图往往不能对两个或者多个事件在同一段时间的比较情况,那么就需要在一张折线图上绘制多条折线。其基本思路就是设置多个y值对应一个x值,就能反映出在同一段时间的不同事件的变化趋势和比较。

1、函数介绍

plt.legend()

当有多个折线图时需要对每个折线图设置图例,来注释它们分别代表什么

()内的参数为设置的信息,如果是汉字,需要使用matplotlib中的font_manager进行汉化,同时可以用loc='uper left'将图例设置在左上方,默认是右上方

plt.grid()

在窗口里绘制网格,更容易观察

()里面可以写alpha=0.8 用alpha来设置网格透明度

plt.plot()

用于拟合点和绘制线,相当于根据点绘制直线

()里面的参数可以有label是设置拟合的每一条曲线代表的是什么,marker设置对描点的点进行标记,markersize设置大小,linestyle可以设置线条的形式,一般有":","--"等形式

2、实战演练

某涛性男子在30岁时,统计了自己和同桌阿彬从11岁到30岁每年交的女(男)朋友的数量。在一个图中绘制出两个人的交友折线图,比较两个人的交友社交能力,同时分析每年交女(男)朋友的数量走势。阿涛和阿彬的交往女(男)朋友数目如下:

阿涛:[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]

阿彬:[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]

老规矩,上代码:

# coding=utf-8
from matplotlib import pyplot as plt
from matplotlib import font_manager# 设置字体
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\MSYHL.TTC")# 设置X,Y的范围
x = range(11,31)
y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
y_2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
# 设置图形大小
plt.figure(figsize=(20, 8), dpi=80)# 绘制图像 label 设置标签 color设置颜色 linestyle 设置线条 linewidth 设置线条粗细 alpha设置透明度
plt.plot(x, y_1,label='阿涛交往女(男)朋友数', color='red', linestyle=':', marker='.', markersize=5)
plt.plot(x, y_2,label='阿彬交往女(男)朋友数', color='black',linestyle='--', marker='.', markersize=5)# 设置X刻度
_xtick_labels = ['{}岁'.format(i) for i in x]
plt.xticks(x, _xtick_labels, rotation=45, fontproperties=my_font)# 设置X,Y轴标签
plt.xlabel('年龄', fontproperties=my_font)
plt.ylabel('朋友个数', fontproperties=my_font)
plt.title('在11岁到30岁每年交往女(男)朋友的数目', fontproperties=my_font)
# plt.yticks(range(0,9)) 设置网格单位间距# 绘制网格
plt.grid(alpha=0.8)   # alpha调整网格透明度# 添加图例 先写label参数 再用plt.lenged()
plt.legend(prop=my_font, loc='upper left')  # 显示中文设置prop参数 loc='upper left'将图例移到左上方# 展示图形
plt.show()

运行结果如下:

程序分析:因为要显示汉字,所以要导入matplotlib中的font_manager模块进行汉化显示汉字。然后设置x轴范围为11-31,range函数含头不含尾,包含11不包含31,即为11-30岁,默认间隔1取值。然后键入y值即阿彬和阿涛的在11-30岁每年交往的女(男)朋友数,设置显示窗口大小,清晰度。分别对阿彬和阿涛的交友曲线进行拟合,然后对x轴进行设置,分别设置图例,通过plt.legend函数来显示,因为有汉字要调用自己电脑带的字体,loc=‘uper left’将图例设置在左上方。对串口绘制网格,设置透明度,最后显示图形,即可完成对阿彬和阿涛的交友数分析。通过折线图对比可以看出阿涛在24岁时正值风华年貌,桃花正盛;阿彬在11岁到30岁平平无奇,交往对象比较固定;综合来看阿涛是个海王,阿彬可能比较老实!你们觉得呢?

绘制三条四条以及多条折线图的方法与两条一致,即设置多个y值与x对应,分别拟合设置图例即可。

总结

本篇文章主要介绍了如何在一张图像中绘制多条折线图进行比较,来进行总体判别与趋势观察。同时结合了实战来进行讲解,对阿彬和阿涛的交往女(男)朋友数进行了比较,给广大男女性朋友择偶提供了分析的方法和技巧。元芳,你怎么看?

Python数据分析(二) —— 进阶绘制双折线图相关推荐

  1. python绘制三维曲面图-python中Matplotlib实现绘制3D图的示例代码

    Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...

  2. python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  3. 霍兰德人格分析:利用Python第三方库matplotlib绘制雷达图

    美国约翰霍普金斯大学霍兰德教授认为,个人职业兴趣特性与职业之间应有一种内在的对应关系.根据兴趣的不同,人格可分为研究型(I).艺术型(A).社会型(S).企业型(E).传统型(C).现实型(R)六个维 ...

  4. 用 python 实现FFT,绘制频谱图

    用 python 实现FFT,绘制频谱图 关键词 :fft , scipy 库, fftshift ,单边谱,双边谱,频谱泄露 目录 用 python 实现FFT,绘制频谱图 前言 代码 结果 总结和 ...

  5. 【适合Python语言小白的股价图】利用Python中的matplotlib绘制股价图(非k线图)

    [适合Python语言小白的股价图]利用Python中的matplotlib绘制股价图(非k线图) 代码小白,最近做一家公司的股价复盘用到了matplotlib,在此做个小小的记录.代码的逻辑比较笨, ...

  6. python绘制双折线图

    #每天进步一点点 昨天写了一个绘制折线图的代码: import numpy as np import matplotlib.pyplot as plt from pylab import * #导入数 ...

  7. python绘制简单直方图-Python数据分析:统计函数绘制简单图形

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于机器学习算法与自然语言处理 ,作者冯夏冲 importmatplo ...

  8. 利用Python的folium包绘制城市道路图!专业地图!

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  9. 【数据处理】python使用matplotlib如何绘制动图;如何使用python进行动图gif制作;实时绘制动态图

    一.现有的集成工具 绘制动图可以用一些现有的集成库,但是很麻烦,你需要调整和他们一样的参数和格式,定制化程度比较低,还得再去搞懂它们的东西.比如这些现有的: https://github.com/Ja ...

  10. python绘制3d图-python中Matplotlib实现绘制3D图的示例代码

    Matplotlib 也可以绘制 3D 图像,与二维图像不同的是,绘制三维图像主要通过 mplot3d 模块实现.但是,使用 Matplotlib 绘制三维图像实际上是在二维画布上展示,所以一般绘制三 ...

最新文章

  1. 2020年SAP项目艰辛曲折的开工历程 III
  2. 深入理解 C 指针阅读笔记 -- 第一章
  3. WPF ComboBox 使用 ResourceBinding 动态绑定资源键并支持语言切换
  4. react中使用构建缓存_通过在React中构建Tic Tac Toe来学习ReasonML
  5. 配置Windows Server 2008群集
  6. 系统分区 ,硬盘格式化,
  7. 怎样查看域名DNS服务器的相一些关信息
  8. 计算机电影院管理系统开题报告,开题报告电影院网上订票系统.doc
  9. opencv4 python电子书_OpenCV轻松入门面向Python下载-OpenCV轻松入门面向Python电子书pdf免费版-精品下载...
  10. BigGAN论文解读
  11. ES6阮一峰读书笔记第一章let和const命令
  12. 微信小程序列表图片加载错误处理
  13. 深度 | 蚂蚁金融科技全面开放战略背后的“硬实力” 1
  14. 百度网盘Mac版如何分享链接?创建百度网盘 for Mac分享链接的方法
  15. 基于ROS_Arduino室内移动机器人SLAM实验测试
  16. 【面试】网易游戏面试题目整理及答案(3)
  17. 视频画面有黑边怎么办?三招视频画面大小裁剪的方法教给你
  18. 图神经网络(Graph Neural Networks)概述
  19. [8月15日更新]南科大计算机系 “创新实践” 选题说明
  20. oracle 控制文件丢失或损坏的恢复

热门文章

  1. 加权最小二乘法matlab,加权最小二乘法matlab
  2. X509证书信任管理器类的实现及应用
  3. 关于java的http请求的工具类
  4. 计算机无法识别打印机usb,USB无法识别打印机的解决方案和教程
  5. Ps如何把背景图片拉长并不变形!
  6. c语言编程开发app,C语言编程app
  7. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authen
  8. 将pdf转换成jpg图片
  9. 请客必备:【转】100元以内南宁市有特色的餐馆
  10. 计算机键盘中复制粘贴快捷键,电脑复制粘贴快捷键,教您电脑怎么用键盘复制粘贴...