使用Matplotlib模拟绘制北京上海气温变化折线图

02 模拟北京上海气温变化折线图

通过本练习,可以掌握如何在一个坐标系中展示多个折线图,以及如何修改折线图的颜色和样式,以及如何设置和显示图例。

在一个坐标系中绘制两条折线

要在一个坐标系中绘制两条这些,我们只需要进行两次绘制即可:

核心代码:

# 准备数据
x = range(60)
y_shanghai = [random.uniform(20,30) for _ in x]
y_beijing = [random.uniform(10,20) for _ in x]

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

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

完整示例代码:

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(20,30) for _ in x]
y_beijing = [random.uniform(10,20) for _ in x]

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

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

# 添加刻度
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()

渲染效果:
使用Matplotlib模拟绘制北京上海气温变化折线图_第1张图片

图形风格

使用Matplotlib模拟绘制北京上海气温变化折线图_第2张图片

通过以下代码可以修改北京气温折线图的颜色和风格:

plt.plot(x, y_beijing, color="r", linestyle="--")

完整示例代码:

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(20,30) for _ in x]
y_beijing = [random.uniform(10,20) for _ in x]

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

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

# 添加刻度
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()

渲染效果:
使用Matplotlib模拟绘制北京上海气温变化折线图_第3张图片

显示图例

通过以下代码,我们可以显示不同折线图的图例:

# 绘制图像
plt.plot(x, y_shanghai, label="上海")
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")

# 显示图例
plt.legend(loc="best")

完整示例代码:

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(20,30) for _ in x]
y_beijing = [random.uniform(10,20) for _ in x]

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

# 绘制图像
plt.plot(x, y_shanghai, label="上海")
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")

# 添加刻度
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.legend(loc="best")

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

# 显示图像
plt.show()

渲染效果:
使用Matplotlib模拟绘制北京上海气温变化折线图_第4张图片

你可能感兴趣的:(python,数据分析,matplotlib)