前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >快速上手Matplotlib(折线图)

快速上手Matplotlib(折线图)

作者头像
GeekLiHua
发布2025-01-21 17:03:32
发布2025-01-21 17:03:32
11200
代码可运行
举报
文章被收录于专栏:JavaJava
运行总次数:0
代码可运行

快速上手Matplotlib

快速入门

运行这段代码

代码语言:javascript
代码运行次数:0
复制
import matplotlib.pyplot as plt # 这里是导入相关的包
%matplotlib inline 
plt.figure()     # 这里创建画图对象
plt.plot([1, 0, 9],  [4, 5, 6]) # 第一个参数x的坐标集合,第二个参数是y轴的坐标列表
plt.show() # 显示图片

运行结果

保存结果

figsize是设置这个图像的大小,也就是宽高,然后dpi是设置清晰度。 savefig是保存图片,设置位置。

代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=80) 

# 2.绘制图像
plt.plot([1, 2, 3, 4, 5, 6, 7], [17, 17, 18, 15, 11, 11, 13])

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

# 4.保存图像
plt.savefig("test.png")

运行结果如下

修改x,y轴

首先是准备数据 这个uniform(l,r)是创建这个[l,r]不同的数字

代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
import random

# 0.准备数据x,y
x = range(60)
y_wuhan = [random.uniform(15, 18) for i in x]
for i in y_wuhan:
    print(i)

完整代码

代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
import random

# 0.准备数据x,y
x = range(60)
y_wuhan = [random.uniform(15, 18) for i in x]
# for i in y_wuhan:
#     print(i)
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=80) 

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

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

# # 4.保存图像
# plt.savefig("test.png")

运行结果 分析这个例子,我们发现有一个问题,这个问题就是这个折现的斜率太大了,然后现在我们希望这个斜率变小一点。

  • 设置x,y轴的值
代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
import random

# 0.准备数据x,y
x = range(60)
y_wuhan = [random.uniform(15, 18) for i in x]

# 1.创建画布
# 设置中文字体
plt.rc('font', family='SimHei', size=13)
plt.figure(figsize=(20, 8), dpi=80) 

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

# 增加以下两行代码
# 构造x轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(40)

# 修改x,y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5]) # 这是设置x,y轴的间隔分别为5
plt.yticks(range(0, 40, 5))

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

运行结果

添加其他信息

  • 添加网格 语法如下 plt.grid(True,linestyle="--",alpha=0.5)
  • 添加标题与横纵标题
代码语言:javascript
代码运行次数:0
复制
plt.xlabel("时间变化")
plt.ylabel("温度变化")
plt.title("某城市11点到12点每分钟的温度变化情况")

完整演示代码

代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
import random

# 0.准备数据x,y
x = range(60)
y_wuhan = [random.uniform(15, 18) for i in x]

# 1.创建画布
# 设置中文字体
plt.rc('font', family='SimHei', size=13)
plt.figure(figsize=(20, 8), dpi=80) 

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

# 增加以下两行代码
# 构造x轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(40)

# 修改x,y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5]) # 这是设置x,y轴的间隔分别为5
plt.yticks(range(0, 40, 5))

# 添加网格线
plt.grid(True,linestyle="--",alpha=0.5)

# 添加标题与横纵标题
plt.xlabel("时间变化")
plt.ylabel("温度变化")
plt.title("某城市11点到12点每分钟的温度变化情况")
           
# 3.显示图像
plt.show()

运行结果

加上另一个图像

  • 添加游标

完整代码

代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
import random

# 0.准备数据x,y
x = range(60)

y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]

# 1.创建画布
# 设置中文字体
plt.rc('font', family='SimHei', size=13)
plt.figure(figsize=(20, 8), dpi=80) 

# 2.绘制图像
plt.plot(x, y_shanghai, color="r", linestyle="--")
plt.plot(x, y_beijing, color="b")

# 增加以下两行代码
# 构造x轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(40)

# 修改x,y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5]) # 这是设置x,y轴的间隔分别为5
plt.yticks(range(0, 40, 5))

# 添加网格线
plt.grid(True,linestyle="--",alpha=0.5)

# 添加标题与横纵标题
plt.xlabel("时间变化")
plt.ylabel("温度变化")
plt.title("上海、北京11点到12点每分钟的温度变化情况")
           
# 3.显示图像
plt.show()

运行结果

创建多个绘图区

在同一个图里面添加,多个绘图区域,然后可以同时显示多个图像。 完整代码

代码语言:javascript
代码运行次数:0
复制
# 展现某城市一周的天气,比如周一到周日的天气温度
import matplotlib.pyplot as plt
%matplotlib inline
import random

# 0.准备数据x,y
x = range(60)

y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]

# 1.创建画布
# 设置中文字体
plt.rc('font', family='SimHei', size=13)
figure, axes=plt.subplots(nrows=1,ncols=2,figsize=(30, 8), dpi=80) 

# 2.绘制图像
axes[0].plot(x, y_shanghai, color="r", linestyle="--", label="上海")
axes[1].plot(x, y_beijing, color="b", label="北京")

# 显示图例
axes[0].legend()
axes[1].legend()

# 修改x,y刻度
# 构造x轴刻度标签
x_label = ["11点{}分".format(i) for i in x]

axes[0].set_xticks(x[::5],x_label[::5])
axes[0].set_yticks(range(0, 40, 5))
axes[1].set_xticks(x[::5],x_label[::5])
axes[1].set_yticks(range(0, 40, 5))

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

# 添加标题与横纵标题
axes[0].set_xlabel("时间变化")
axes[0].set_ylabel("温度变化")
axes[0].set_title("上海11点到12点的温度变化情况")
axes[1].set_xlabel("时间变化")
axes[1].set_ylabel("温度变化")
axes[1].set_title("北京11点到12点的温度变化情况")
           
# 3.显示图像
plt.show()

运行结果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 快速上手Matplotlib
    • 快速入门
    • 保存结果
    • 修改x,y轴
    • 添加其他信息
    • 加上另一个图像
    • 创建多个绘图区
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档