且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

修改折线图坐标 | Python 数据可视化库 Matplotlib 快速入门之八

更新时间:2022-03-22 21:12:56

完善折线图(画布层) | Python 数据可视化库 Matplotlib 快速入门之七

完善原始折线图(辅助显示层)

之前介绍了在画布层的完善折线图,现在来介绍辅助显示层的完善。

准备数据并画出初始折线图

案例:显示温度变化状况
需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度。
步骤:

  1. 准备数据x、y
  2. 创建画布
  3. 绘制图像
  4. 显示图像
import random

x = range(60)
y_shanghai  = [random.uniform(15, 18) for i in x]

plt.figure(figsize=(20, 8), dpi=80)
plt.plot(x, y_shanghai)
plt.show()

执行结果:

修改折线图坐标 | Python 数据可视化库 Matplotlib 快速入门之八

此时可以发现,因为坐标的原因,将温度变化差值显示的非常大,我们需要改变坐标去调整一下。

添加自定义x,y刻度

  • plt.xticks(x, **kwargs)
    x:要显示的刻度值
  • plt.yticks(y, **kwargs)

    y:要显示的刻度值
    

增加以下代码:

plt.xticks(x[::5])
#plt.yticks(range(40), [::5])
plt.yticks(range(0, 40, 5))

执行结果:

修改折线图坐标 | Python 数据可视化库 Matplotlib 快速入门之八

但是我们想要显示的结果是x时x分,再次修改代码:
我们需要x刻度是每五分钟显示一次:
准备x的刻度说明:

x_lable = ["11点{}分".format(i) for i in x] 
plt.xticks(x[::5], x_lable[::5])

执行结果:

修改折线图坐标 | Python 数据可视化库 Matplotlib 快速入门之八

必须是一一对应的关系,否则横坐标会按照顺序来,与预期结果不一致。

修改折线图坐标 | Python 数据可视化库 Matplotlib 快速入门之八

此时可以发现,如果没有解决过中文问题的话,会发现所有的中文都不显示,我们下一节来解决。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站