问题描述
python初学者学习使用matplotlib作图时,可能会遇到添加坐标轴不起作用的情况,这时有可能是因为代码段顺序出了问题。
我们来看下面一段代码,
import matplotlib.pyplot as plt
import random
# 数据生成
x = range(50)
y = [random.uniform(15, 30) for i in x]
# 画布生成
plt.figure(figsize=(20, 8), dpi=80)
# 坐标轴添加
y_ticks = range(30)
plt.yticks(y_ticks[::5]) # y轴从0到30,间隔为5
# 图形绘制
plt.plot(x, y)
# 图形显示
plt.show()
生成图形如下,
我们发现,纵轴(y轴) 并不是我们设定的从0到30,间隔为5
解决方法
我们将【添加坐标轴】段的代码移到【图形绘制】段代码之后,
import matplotlib.pyplot as plt
import random
# 数据生成
x = range(50)
y = [random.uniform(15, 30) for i in x]
# 画布生成
plt.figure(figsize=(20, 8), dpi=80)
# 图形绘制
plt.plot(x, y)
# 坐标轴添加
y_ticks = range(30)
plt.yticks(y_ticks[::5])
# 图形显示
plt.show()
重新生成图形如下,
这时坐标轴设置就起作用了。
总结
综上,使用matplotlib绘图时,坐标轴的设置需要放到图形绘制之后。