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大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
五、面试资料
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】