携手创作,一起生长!这是我参加「日新计划 8 月更文应战」的第24天,点击检查活动详情

1. 在一个坐标系中制作多个图画

比如咱们想在一个城市温度改变折图中,再制作别的一个城市的温度改变折线图,那么咱们就要学会如何在一个坐标系下制作多个图画。

注意:想要去增加另一个在同一坐标系当中的不同图形,其实很简单,只需要咱们再次plot即可。但是需要区分两种线条。

详细语法如下所示:在坐标系中制作两个折线图,用到了同一个x,但也用到了两个不同对应的y值。

# 2. 制作折线图
plt.plot(x, y_shanghai)
plt.plot(x, y_beijing)

2. 设置图形风格

绘图中能够设置图形风格,语法如下:

plt.plot(x, y,, linestyle='==')

  • color:指定线的色彩,通常都是色彩英文的首字母表明
  • linestyle:指定线段类型

详细图形风格如下表格所示:

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

3. 显现图例

如果只在plt.plot()中设置label还不能最终显现出图例,还需要经过plt.legent()将图例显现出来。 详细语法如下所示:

plt.plot(x, y_beijing, color='r', linestyle='--', label='北京')
# 显现图例
plt.legend(loc='best')
  • label:图画标签,表明哪个图显现哪个名称
  • loc=”best”:主动在最好的方位进行显现
  • loc=”upper right”:上边靠右侧显现
  • loc=”right”:在右侧进行显现
  • loc=”center left”:中心靠左侧进行显现

4. 事例演示

事例需求:请在一个坐标系下分别显现两个城市(例如:北京和上海)温度随时刻改变折线图,而且敞开图例、网格,设计折线段类型、折线段色彩。

import random
import matplotlib.pyplot as plt
from pylab import mpl
# 设置显现中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 有时候,字体更改后,会导致坐标轴中的部分字符无法正常显现,此刻需要更改axes.unicode_minus参数
# 设置正常显现符号
mpl.rcParams["axes.unicode_minus"] = False
# 0. 预备x,y坐标的数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]   # 列表生成式
y_beijing = [random.uniform(1, 3) for j in x]
# 1. 创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2. 制作折线图
plt.plot(x, y_shanghai, label='上海')
plt.plot(x, y_beijing, color='r', linestyle='--', label='北京')
# 显现图例
plt.legend(loc='best')
# 2.1 增加x,y轴刻度
# 设置x,y轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
# 修正x,y轴坐标刻度显现
plt.xticks(x[::5], x_ticks_label[::5])  # 坐标刻度不能够直接经过字符串进行修正
plt.yticks(y_ticks[::5])
# 2.2 增加网格显现
plt.grid(True, linestyle='--', alpha=0.5)  # 敞开网格,虚线,透明度0.5
# 2.3 增加描述信息
plt.xlabel("时刻")
plt.ylabel("温度")
plt.title("正午11点0分到12点之间的温度改变图示", fontsize=20)
# 2.4 图画保存
# 保存图片到指定路径
# 在引号中放到是保存的路径
# plt.savefig("./test.png")
# 3. 显现图画
plt.show()

运转成果如下图所示:

【Matplotlib数据可视化】同一坐标系下绘制多图