我是Python編程新手。我正在學習Python。在python中繪製條形圖
下面的代碼幫我畫了一張條形圖。我想了解代碼。 我看不慣線5,6,7和8即
N = len(data)
x = np.arange(1,N+1)
y = [num for (s, num) in data ]
labels = [ s for (s, num) in data ]
而且,我們爲什麼要採取x+width/2.0
,同時繪製x軸的標籤? 而且,如何在房子盜竊之前在圖表的開始處添加一個小寬度?酒吧通常以0開頭。我不知道如何在第一個酒吧開始前帶上一個小寬度。我試過了,但沒有好轉。
完整的程序如下。
import matplotlib.pyplot as plt
import numpy as np
data = [ ("House Theft", 57), ("House Fire", 48),
("Car Theft", 156), ("Car Accident", 245)]
N = len(data)
x = np.arange(1,N+1)
y = [num for (s, num) in data ]
labels = [ s for (s, num) in data ]
width = 0.35 #Use 1 to make it as a histogram
bar1 = plt.bar(x, y, width, color="y")
plt.ylabel('Frequency')
plt.xticks(x + width/2.0, labels)
plt.show()
'''data'''是一個列表 - ['''len'''](https://docs.python.org/3/library/functions.html#len)。 [''numpy'''](http://docs.scipy.org/doc/numpy/user/)('''np''')是一個庫 - ['''np.arange''' ](http://docs.scipy.org/doc/numpy-1.6.0/reference/generated/numpy.arange.html)。第7行和第8行是[list comprehensions](https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)。 – wwii
@wwii這行'num(s,num)in data'表示什麼?我瞭解數據是範圍。這些變量和數字表明什麼?與字符串和數字有關?他們究竟想要在這裏做什麼? –
['''tuple''' unpacking](https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences)。解釋型語言的一個好處是,您可以輕鬆地使用shell中的語言功能來嘗試一些東西,看看它是如何工作的。 Python有一個相當不錯的[教程](https://docs.python.org/3/tutorial/index.html)。 – wwii