IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python数据分析(二) —— 进阶绘制双折线图 -> 正文阅读

[人工智能]Python数据分析(二) —— 进阶绘制双折线图

单折线图往往不能对两个或者多个事件在同一段时间的比较情况,那么就需要在一张折线图上绘制多条折线。其基本思路就是设置多个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对应,分别拟合设置图例即可。

总结

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:23:44  更:2021-11-20 18:24:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:22:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码