携手创作,一起生长!这是我参加「日新计划 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()
运转成果如下图所示: