gpt4 book ai didi

python - 了解 matplotlib xticks 语法

转载 作者:太空狗 更新时间:2023-10-29 17:05:52 25 4
gpt4 key购买 nike

我正在看书,我看到了这段代码:

import matplotlib.pyplot as plt
plt.scatter(x,y)
plt.title("Web traffic over the last month")
plt.xlabel("Time")
plt.ylabel("Hits/hour")
plt.xticks([w*7*24 for w in range(10)],
['week %i'%w for w in range(10)])
plt.autoscale(tight=True)
plt.grid()
plt.show()

对于上下文,x 是对应于一个小时的整数数组。 y 是特定时间内的“点击”数组(从用户到网站)。

我知道代码会累积所有小时数以便在一周内显示它们,但是有人可以解释一下这些函数的作用吗?我的目标是理解这一行的所有语法:

plt.xticks([w*7*24 for w in range(10)], 
['week %i'%w for w in range(10)])

具体来说:

  • 什么是范围

这是生成的内容: enter image description here

这是附加上下文的示例数据:

1   2272
2 nan
3 1386
4 1365
5 1488
6 1337
7 1883
8 2283
9 1335
10 1025
11 1139
12 1477
13 1203
14 1311
15 1299
16 1494
17 1159
18 1365
19 1272
20 1246
21 1071
22 1876
23 nan
24 1410
25 925
26 1533
27 2104
28 2113
29 1993
30 1045

最佳答案

range 是 python2 中的一个函数,它为给定的参数创建一个列表:

range(5) -> [0,1,2,3,4]
range(1,5) -> [1, 2, 3, 4]

通常 range(lower_index, upper_index+1) 会生成一个等价于[ lower_index, upper_index] in python2,

您可以使用 xrange 以获得更好的性能(因为它使用延迟评估,在需要时计算)或者 python3 中的 range 就可以了在 python2 中作为 xrange 工作。

现在该行:

plt.xticks([w*24*7 for w in range(10)],['week %i'%w for w in range(10)])

实际上 xticks 是您的 x 轴刻度或测量的间隔,因此您的测量级别以 小时 为单位,因此最好在一个小时内刻度数据集中一周的周(即 7 天 * 24 小时),第二个列表理解放的是那个一周间隔的标签(第0周,第1周.....)

需要注意的一点是,实际上您使用的书中的数据集有 748 行,所以大约 (748/(24*7)) = 4.45 周,,

所以你真的可以使用 range(5) 绘制图形,输出图缩放到 week0 - week4 的原因是因为这条线plt.autoscale(tight=True),好吧,如果没有 plt.autoscale,绘图会显示类似这样的内容。 wihtout plt.autoscale(tight=True) and plt.grid()

希望对您有所帮助。

关于python - 了解 matplotlib xticks 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19427188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com