快速上手Matplotlib(折线图)

快速上手Matplotlib

快速入门

运行这段代码

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

运行结果
在这里插入图片描述

保存结果

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

# 展现某城市一周的天气,比如周一到周日的天气温度
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]不同的数字

# 展现某城市一周的天气,比如周一到周日的天气温度
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)

完整代码

# 展现某城市一周的天气,比如周一到周日的天气温度
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轴的值
# 展现某城市一周的天气,比如周一到周日的天气温度
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)
    在这里插入图片描述

  • 添加标题与横纵标题

plt.xlabel("时间变化")
plt.ylabel("温度变化")
plt.title("某城市11点到12点每分钟的温度变化情况")

完整演示代码

扫描二维码关注公众号,回复: 14590914 查看本文章
# 展现某城市一周的天气,比如周一到周日的天气温度
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()

运行结果
在这里插入图片描述

加上另一个图像

  • 添加游标
    在这里插入图片描述
    在这里插入图片描述

完整代码

# 展现某城市一周的天气,比如周一到周日的天气温度
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()

运行结果
在这里插入图片描述

创建多个绘图区

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

# 展现某城市一周的天气,比如周一到周日的天气温度
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()

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51447496/article/details/129587712