Preface
Matplotlib may be used to create bar charts. You might like the Matplotlib gallery. The course below is all about data visualization:
Bar chart code
The code below creates a bar chart:
- %matplotlib inline
- import matplotlib.pyplot as plt; plt.rcdefaults()
- import numpy as np
- import matplotlib.pyplot as plt
- objects = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
- y_pos = np.arange(len(objects))
- performance = [10,8,6,4,2,1]
- plt.bar(y_pos, performance, align='center', alpha=0.5)
- plt.xticks(y_pos, objects)
- plt.ylabel('Usage')
- plt.title('Programming language usage')
- plt.show()
Matplotlib charts can be horizontal, to create a horizontal bar chart:
- import matplotlib.pyplot as plt; plt.rcdefaults()
- import numpy as np
- import matplotlib.pyplot as plt
- objects = ('Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
- y_pos = np.arange(len(objects))
- performance = [10,8,6,4,2,1]
- plt.barh(y_pos, performance, align='center', alpha=0.5)
- plt.yticks(y_pos, objects)
- plt.xlabel('Usage')
- plt.title('Programming language usage')
- plt.show()
More on bar charts
You can compare two data series using this Matplotlib code:
- import numpy as np
- import matplotlib.pyplot as plt
- # data to plot
- n_groups = 4
- means_frank = (90, 55, 40, 65)
- means_guido = (85, 62, 54, 20)
- # create plot
- fig, ax = plt.subplots()
- index = np.arange(n_groups)
- bar_width = 0.35
- opacity = 0.8
- rects1 = plt.bar(index, means_frank, bar_width,
- alpha=opacity,
- color='b',
- label='Frank')
- rects2 = plt.bar(index + bar_width, means_guido, bar_width,
- alpha=opacity,
- color='g',
- label='Guido')
- plt.xlabel('Person')
- plt.ylabel('Scores')
- plt.title('Scores by person')
- plt.xticks(index + bar_width, ('A', 'B', 'C', 'D'))
- plt.legend()
- plt.tight_layout()
- plt.show()
範例代碼 matplotlib_barchart.ipynb
沒有留言:
張貼留言