type
status
date
slug
summary
tags
category
icon
password
AI 摘要
notion image

测试一

notion image

案例一

需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度

如图:
notion image

案例完整代码

notion image
 

案例一文档:

这段代码展示了如何使用Python的Matplotlib库创建一个简单的温度变化图表。下面是代码的详细解释:

导入必要的库

这里导入了matplotlib的pyplot模块、random模块和pylab的mpl模块。

设置中文显示

这两行代码设置了matplotlib的参数,使其能够正确显示中文字体和负号。

准备数据

创建了x轴数据(0到59的整数)和y轴数据(15到18之间的随机浮点数)。

创建画布

创建一个20x8英寸、分辨率为100dpi的图形。

绘制图像

使用x和y_shanghai数据绘制折线图。

设置坐标轴

设置x轴和y轴的刻度标签。x轴每5分钟显示一次,y轴每5度显示一次。

添加网格

添加网格线,使用虚线样式,透明度为0.5。

添加标签和标题

为x轴、y轴添加标签,并设置图表标题。

保存图像

将图表保存为PNG文件。

显示图像

在屏幕上显示生成的图表。
这段代码生成了一个展示某城市在11点到12点之间温度变化的折线图,并将其保存为图片文件。
 
 

案例二

需求: 在一个坐标系中绘制多个图像,再添加一个城市的温度变化

notion image
 
 

图形风格的说明

颜色字符
风格字符
r 红色
- 实线
g 绿色
- - 虚线
b 蓝色
-. 点划线
w 白色
: 点虚线
c 青色
' ' 留空、空格
m 洋红
y 黄色
k 黑色

图例的显示

Location String
Location Code
'best'
0
'upper right'
1
'upper left'
2
'lower left'
3
'lower right'
4
'right'
5
'center left'
6
'center right'
7
'lower center'
8
'upper center'
9
'center'
10
 

案例的完整代码

notion image

案例二的文档:

准备数据

创建了x轴数据(0到59的整数)和两组y轴数据:
  • 上海:15到18之间的随机温度
  • 北京:1到3之间的随机温度

创建画布

创建一个20x8英寸、分辨率为100dpi的图形。

绘制图像

绘制两条折线:
  • 上海数据用默认颜色和实线
  • 北京数据用红色和虚线

设置坐标轴

设置x轴和y轴的刻度标签。x轴每5分钟显示一次,y轴每5度显示一次。

添加网格

添加网格线,使用虚线样式,透明度为0.5。

添加标签和标题

为x轴、y轴添加标签,并设置图表标题。

保存图像

将图表保存为PNG文件。

添加图例

添加图例,loc=0表示自动选择最佳位置。

显示图像

在屏幕上显示生成的图表。
 
 

案例三

需求:多个坐标系显示— plt.subplots(面向对象的画图方法)

notion image

案例完整代码:

notion image

案例三文档:

 

准备数据

创建x轴数据(0到59的整数)和两组y轴数据:
  • 上海:15到18之间的随机温度
  • 北京:1到5之间的随机温度

创建画布和子图

创建一个包含1行2列子图的画布,大小为20x8英寸,分辨率为100dpi。

绘制图像

在左侧子图绘制上海数据,在右侧子图绘制北京数据。

设置坐标轴

为两个子图设置相同的x轴和y轴刻度。

添加网格

为两个子图添加网格线。

添加标签和标题

为两个子图添加x轴标签、y轴标签和标题。

保存图像

将整个图表保存为PNG文件。

添加图例

为两个子图添加图例,自动选择最佳位置。

显示图像

在屏幕上显示生成的图表。
这段代码生成了一个包含两个子图的图表,左侧显示上海的温度变化,右侧显示北京的温度变化。这种布局允许直观地比较两个城市的温度趋势,而不会在同一个图中造成视觉混乱。每个子图都有自己的坐标轴、标题和图例,使得信息呈现更加清晰和有组织。
 

案例四

需求:折线图的应用场景

  • 呈现公司产品(不同区域)每天活跃用户数
  • 呈现app每天下载数量
  • 呈现产品新功能上线后,用户点击次数随时间的变化
  • 拓展:画各种数学函数图像
notion image
 

常见图形种类及意义

  • 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图
    • 特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)
      api:plt.plot(x, y)
      notion image
  • 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。
    • 特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
      api:plt.scatter(x, y)
      notion image
  • 柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中。
    • 特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计/对比)
      api:plt.bar(x, width, align='center', **kwargs)
      notion image
  • 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。
    • 特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)
      api:matplotlib.pyplot.hist(x, bins=None)
      notion image
  • 饼图:用于表示不同分类的占比情况,通过弧度大小来对比各种分类。
    • 特点:分类数据的占比情况(占比)
      api:plt.pie(x, labels=,autopct=,colors)
notion image
 

散点图绘制

需求:探究房屋面积和房屋价格的关系
房屋面积数据:
房屋价格数据:
notion image
 

柱状图绘制

需求-对比每部电影的票房收入
notion image
电影数据如下图所示:
notion image
  • 准备数据
  • 绘制柱状图
代码:
 

总结

图表类型
主要用途
Matplotlib API函数
折线图
显示数据的变化趋势,反映事物的变化情况
plt.plot()
散点图
判断变量之间是否存在数量关联趋势,展示离群点
plt.scatter()
柱状图
绘制离散的数据,直观比较数据之间的差别
plt.bar(x, width, align="center")
直方图
绘制连续性数据,展示一组或多组数据的分布状况
plt.hist(x, bins)
饼图
表示不同分类的占比情况,通过弧度大小对比各种分类
plt.pie(x, labels, autopct, colors)
Numpy学习大数据面试题汇总
Loading...