使用Matplotlib绘制模拟上海城市气温变化图

发布时间:2024年01月03日

模拟上海气温变化折线图

实现步骤

  • 准备数据
  • 创建画布
  • 绘制图像
  • 显示图像

基本实现

示例代码:

import matplotlib.pyplot as plt
import random

# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]

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

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

# 显示图像
plt.show()

渲染效果:
在这里插入图片描述

中文字体和刻度

通过以下代码,实现显示中文字体:

from pylab import mpl

mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

通过以下代码,实现添加刻度:

x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random

# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]

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

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

# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])

# 显示图像
plt.show()

渲染效果:
在这里插入图片描述

添加网格

通过以下代码,实现添加网格:

plt.grid(True, linestyle="--", alpha=0.5)

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random

# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]

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

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

# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])

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

# 显示图像
plt.show()

渲染效果:
在这里插入图片描述

添加描述信息

通过以下代码,实现添加描述信息:

plt.xlabel("时间")
plt.ylabel("刻度")
plt.title("中午11点-12点某城市温度变化图")

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random

# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]

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

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

# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])

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

# 添加描述信息
plt.xlabel("时间")
plt.ylabel("刻度")
plt.title("中午11点-12点某城市温度变化图")

# 显示图像
plt.show()

渲染效果:
在这里插入图片描述

图像保存

通过以下代码,实现保存图像:

plt.savefig("./test.png")

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random

# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]

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

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

# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])

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

# 添加描述信息
plt.xlabel("时间")
plt.ylabel("刻度")
plt.title("中午11点-12点某城市温度变化图")

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

# 显示图像
plt.show()
文章来源:https://blog.csdn.net/qq_37703224/article/details/135367809
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。