人工智能机器学习有关-Matplotlib工具的使用(二)

Matplotlib的使用

1、Matplotlib:可以用来画图的工具,为了让数据看起来更加直观。

  • 定义

    主要用于开发2D图表(3D),数据分析,基于分析,进行展示

  • 绘图流程

    • 创建画布
    • 绘制图像
    • 显示图像
    import matplotlib.pyplot as plt
    # 1.创建画布
    plt.figure
    
    #2. 图像绘制
    x = [1,2,3,4,5,6]
    y = [3,6,3,6,3,10]
    plt.plot(x,y)
    
    # 3.图像展示
    plt.show()
    
    
  • matplotlib三层结构

    • 容器层

      • canvas
      • figure
      • axes
    • 辅助显示层

      添加X轴,y轴描述,标题…

    • 图像层

      绘制什么图像的声明

2、 图像的保存

1.创建画布

figsize指画布大小,dpi指像素

plt.figure(figsize=(20,8),dpi=100)

2. 图像绘制

x = [1,2,3,4,5,6]
y = [3,6,3,6,3,10]
plt.plot(x,y)

2.1 图像保存

plt.savefig(“./data/demo.png”) #保存在根目录下面的data文件夹里面,名字Wiedemo.png

3.图像展示

plt.show()  # 注意,当show之后,就释放资源了,就不可以在进行其他的操作了

3、 添加x,y轴

import matplotlib.pyplot as plt
import random

# 0.生成数据
x = range(60)
# 列表生成式
y = [random.uniform(10,15) for i in x]

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)

# 2.图像绘制
plt.plot(x,y)

# 2.1 添加x,y轴刻度
y_ticks = range(40)

# 这一步出现['11点0分','11点1分','11点2分','11点3分','11点4分'。。。
x_ticks_labels = ["11点{}分".format(i) for i in x]


# 控制y轴,每一格之间的距离是5
plt.yticks(y_ticks[::5])

# 控制x轴,每一个格之间距离是5,且显示为11点0分,11点5分。。。
plt.xticks(x[::5],x_ticks_labels[::5])


# 3.图像展示
plt.show()

4、 添加网格

# True代表添加网格;linestyle="--"代表网格为虚线,“-”代表为实线,alpha=1代表为透明度
plt.grid(True,linestyle="--",alpha=1)

5、添加描述

# 2.3 添加描述
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("一小时温度变化图",fontsize=20)

如果汉字不显示,则这样解决

import matplotlib.pyplot as plt
plt.rc('font', family='SimHei', size=13)

6、 绘制多个曲线并显示图例

import matplotlib.pyplot as plt
import random
import matplotlib.pyplot as plt
plt.rc('font', family='SimHei', size=20)

# 0.生成数据
x = range(60)
y_beijing = [random.uniform(10,15) for i in x]
y_shanghai = [random.uniform(15,25) for i in x]

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)

# 2.图像绘制,显示图例的话需要在这个里面假如label
plt.plot(x,y_beijing,label="北京")
plt.plot(x,y_shanghai,label="上海")

# 2.1 添加x,y轴刻度
y_ticks = range(40)

    # 这一步出现['11点0分','11点1分','11点2分','11点3分','11点4分'。。。
x_ticks_labels = ["11点{}分".format(i) for i in x]


    # 控制y轴,每一格之间的距离是5
plt.yticks(y_ticks[::5])

    # 控制x轴,每一个格之间距离是5,且显示为11点0分,11点5分。。。
plt.xticks(x[::5],x_ticks_labels[::5])

# 2.2 添加网格
    # True代表添加网格;linestyle="--"代表网格为虚线,“-”代表为实线,alpha=1代表为透明度
plt.grid(True,linestyle="--",alpha=1)

# 2.3 添加描述
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("一小时温度变化图",fontsize=20)


# 2.4 显示图例
plt.legend()

# 3.图像展示
plt.show()

7、 多个坐标系显示图像

import matplotlib.pyplot as plt
import random
import matplotlib.pyplot as plt
plt.rc('font', family='SimHei', size=13)

# 0.生成数据
x = range(60)
# random.uniform(10,15) for i in x;意思是随机生成60个数字,数字范围在10-15之间
y_beijing = [random.uniform(10,15) for i in x]
y_shanghai = [random.uniform(15,25) for i in x]

# 1.创建画布,nrows代表几行,ncols代表几列
fig, axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100)

# 2.图像绘制,显示图例的话需要在这个里面加入label
axes[0].plot(x,y_beijing,label="北京",color="g",linestyle="-.")
axes[1].plot(x,y_shanghai,label="上海")

# 2.1 添加x,y轴刻度
y_ticks = range(40)

# 这一步出现'11点0分','11点1分','11点2分','11点3分','11点4分'。。。
x_ticks_labels = ["11点{}分".format(i) for i in x]

axes[0].set_xticks(x[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_labels[::5])

axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_labels[::5])

# 2.2 添加网格
axes[0].grid(True,linestyle="--",alpha=1)
axes[1].grid(True,linestyle="--",alpha=1)

# 2.3添加描述
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("北京一小时温度变化图")

axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("上海一小时温度变化图")
# 2.4显示图例
axes[0].legend(loc=0)
axes[1].legend(loc=0)

# 3.图像展示
plt.show()

8、plot绘制数学图像

  • 在生成数据的时候

    y = np.sin(x)	#即代表是sin函数;当然可以使x*x*x,就是三次方函数
    
    

    代码如下

import numpy as np
import matplotlib.pyplot as plt
plt.rc('font', family='SimHei', size=13)
# 0.生成数据
x = np.linspace(-10,10,1000)
y = np.sin(x)

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)

# 2.绘制
plt.plot(x,y)

# 显示网格
plt.grid()

# 3.显示
plt.show()

9、散点图

  • 在图像绘制的时候,选择散点图

    plt.scatter(x,y) #这是绘制散点图的代码
    
    

    具体代码如下

import matplotlib.pyplot as plt
# 0. 数据准备
x = [225.98, 247.07, 253.14, 457.85, 241.58, 301.01,  20.67, 288.64,
       163.56, 120.06, 207.83, 342.75, 147.9 ,  53.06, 224.72,  29.51,
        21.61, 483.21, 245.25, 399.25, 343.35]
y = [196.63, 203.88, 210.75, 372.74, 202.41, 247.61,  24.9 , 239.34,
       140.32, 104.15, 176.84, 288.23, 128.79,  49.64, 191.74,  33.1 ,
        30.74, 400.02, 205.35, 330.64, 283.45]

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)

# 2.图像绘制(散点图)
plt.scatter(x,y)

# 3.图像展示
plt.show()

10、柱状图

  • 图像绘制的时候选择柱状图
plt.bar(x,y,width=0.5)

具体代码如下

import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
plt.rc('font', family='SimHei', size=13)

# 0.准备数据
# 电影名字
movie_name = ['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽','其它']
# 横坐标
x = range(len(movie_name))
# 票房数据
y = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]

# 1.创建画布
plt.figure(figsize=(20,8),dpi=100)

# 2.图像绘制(柱状图)
plt.bar(x,y,width=0.5)

# 2.1 x轴
plt.xticks(x,movie_name,fontsize=15)

# 2.2 添加网格
plt.grid()

# 2.3标题
plt.title("某电影票房统计")

# 3.图像展示
plt.show()

最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

五、面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值