Bài giảng Nhập môn lập trình khoa học dữ liệu: Bài 8 Thư viện matplotlib cung cấp cho người học những kiến thức như: Giới thiệu và cài đặt matplotlib; Vẽ biểu đồ đơn giản; Một số loại biểu đồ thông dụng trong matplotlib; Biểu đồ dạng đường (line plot); Biểu đồ dạng cột (bar plot); Biểu đồ bánh (pie chart); Một số chức năng hữu ích.
NHẬP MƠN LẬP TRÌNH KHOA HỌC DỮ LIỆU Bài 8: Thư viện matplotlib Nội dung Giới thiệu cài đặt matplotlib Vẽ biểu đồ đơn giản Một số loại biểu đồ thông dụng matplotlib Biểu đồ dạng đường (line plot) Biểu đồ dạng cột (bar plot) Biểu đồ bánh (pie chart) Một số chức hữu ích Bài tập TRƯƠNG XUÂN NAM Phần Giới thiệu cài đặt matplotlib TRƯƠNG XUÂN NAM Giới thiệu matplotlib “matplotlib” thư viện chuyên vẽ biểu đồ, mở rộng từ numpy Có mục tiêu đơn giản hóa tối đa cơng việc vẽ biểu đồ để “chỉ cần vài dịng lệnh” Hỗ trợ nhiều loại biểu đồ, đặc biệt loại sử dụng nghiên cứu kinh tế biểu đồ dòng, đường, tần suất (histograms), phổ, tương quan, errorcharts, scatterplots,… Cấu trúc matplotlib gồm nhiều phần, phục vụ cho mục đích sử dụng khác TRƯƠNG XUÂN NAM Giới thiệu matplotlib Ngoài API liên quan đến vẽ biểu đồ, matplotlib bao gồm số interface: Object-Oriented API, The Scripting Interface (pyplot), The MATLAB Interface (pylab) Các interface giúp thuận tiện việc thiết lập số trước thực vẽ biểu đồ Interface pylab khơng cịn phát triển Hầu hết ví dụ slide sử dụng pyplot Sử dụng Object-Oriented API trực tiếp API matplotlib cho phép can thiệp sâu vào việc vẽ biểu đồ (hầu hết project khơng có nhu cầu này) TRƯƠNG XN NAM Cài đặt: “pip install matplotlib” TRƯƠNG XUÂN NAM Một số biểu đồ vẽ matplotlib TRƯƠNG XUÂN NAM Một số biểu đồ vẽ matplotlib TRƯƠNG XUÂN NAM Một số biểu đồ vẽ matplotlib TRƯƠNG XUÂN NAM Phần Vẽ biểu đồ đơn giản TRƯƠNG XUÂN NAM 10 Làm rõ tương quan chi tiết / tổng thể import matplotlib.pyplot as plt D = { 'CTTT': 60, 'Kế toán': 310, 'Kinh tế': 360, 'CNTT': 580, 'Cơ khí': 340, 'Thủy văn': 290 } plt.pie(D.values(), labels=D.keys(), autopct='%1.1f%%') plt.axis('equal') # trục x = trục y plt.show() TRƯƠNG XUÂN NAM 27 Biểu đồ bánh đầy đủ import matplotlib.pyplot as plt # liệu labels = 'Python', 'C++', 'Ruby', 'Java' sizes = [215, 130, 245, 210] colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'] explode = (0.1, 0, 0, 0) # vẽ plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=140) plt.axis('equal') plt.legend(labels) plt.show() TRƯƠNG XUÂN NAM 28 Phần 3.4 Một số chức hữu ích TRƯƠNG XUÂN NAM 29 Chia thành biểu đồ import numpy as np import matplotlib.pyplot as plt x = np.arange(0, * np.pi, 0.1) y_sin = np.sin(x) y_cos = np.cos(x) plt.subplot(2, 1, 1) plt.plot(x, y_sin) plt.title('SIN(x)') plt.subplot(2, 1, 2) plt.plot(x, y_cos) plt.title('COS(x)') plt.show() # biểu đồ # biểu đồ TRƯƠNG XUÂN NAM 30 Chia thành biểu đồ import numpy as np import matplotlib.pyplot as plt x1 x2 y1 y2 = = = = np.linspace(0.0, np.linspace(0.0, np.cos(2 * np.pi np.cos(2 * np.pi 5.0) 2.0) * x1) * np.exp(-x1) * x2) plt.subplot(2, 1, 1) plt.plot(x1, y1, 'o-') plt.subplot(2, 1, 2) plt.plot(x2, y2, '.-') plt.show() TRƯƠNG XUÂN NAM 31 Chia thành biểu đồ import matplotlib.pyplot as plt import numpy as np np.random.seed(19680801) data = np.random.randn(2, 100) fig, axs = plt.subplots(2, 2, figsize=(5, 5)) axs[0, 0].hist(data[0]) axs[1, 0].scatter(data[0], data[1]) axs[0, 1].plot(data[0], data[1]) axs[1, 1].hist2d(data[0], data[1]) plt.show() TRƯƠNG XUÂN NAM 32 Nạp ảnh (png) import matplotlib.pyplot as plt import matplotlib.image as mpimg image = mpimg.imread("txnam.png") fig, axs = plt.subplots(2, 2, figsize=(5, 5)) axs[0, axs[1, axs[0, axs[1, 0].imshow(image) 0].imshow(image) 1].imshow(image) 1].imshow(image) plt.show() TRƯƠNG XUÂN NAM 33 Lưu biểu đồ file import matplotlib.pyplot as plt import matplotlib.image as mpimg image = mpimg.imread("txnam.png") fig, axs = plt.subplots(2, 2, figsize=(5, 5)) axs[0, 0].imshow(image) axs[1, 0].imshow(image) axs[0, 1].imshow(image) axs[1, 1].imshow(image) plt.savefig('1.png') plt.savefig('1.pdf') TRƯƠNG XUÂN NAM 34 Phần Bài tập TRƯƠNG XUÂN NAM 35 Bài tập Viết đoạn chương trình python vẽ biểu đồ sau TRƯƠNG XUÂN NAM 36 Bài tập Viết đoạn chương trình python vẽ biểu đồ sau TRƯƠNG XUÂN NAM 37 Bài tập Viết đoạn chương trình python vẽ biểu đồ sau TRƯƠNG XUÂN NAM 38 Bài tập Vẽ biểu đồ hình ứng với liệu sau Languages: Java, Python, PHP, JavaScript, C#, C++ Popularity: 22.2, 17.6, 8.8, 8, 7.7, 6.7 TRƯƠNG XUÂN NAM 39 Bài tập Vẽ biểu đồ hình ứng với liệu sau Languages: Java, Python, PHP, JavaScript, C#, C++ Popularity: 22.2, 17.6, 8.8, 8, 7.7, 6.7 TRƯƠNG XUÂN NAM 40 Chữa import matplotlib.pyplot as plt import numpy as np x = (1, 2, 3) y = (2, 4, 1) plt.plot(x, y) plt.axis([1,3,1,4]) plt.xticks(np.arange(1,3.1,0.5)) plt.xlabel('x-axis') plt.ylabel('y-axis') plt.title('Sample graph!') plt.show() TRƯƠNG XUÂN NAM 41 ... plt.savefig('1.pdf') TRƯƠNG XUÂN NAM 34 Phần Bài tập TRƯƠNG XUÂN NAM 35 Bài tập Viết đoạn chương trình python vẽ biểu đồ sau TRƯƠNG XUÂN NAM 36 Bài tập Viết đoạn chương trình python vẽ biểu đồ sau TRƯƠNG XUÂN NAM. .. này) TRƯƠNG XUÂN NAM Cài đặt: “pip install matplotlib” TRƯƠNG XUÂN NAM Một số biểu đồ vẽ matplotlib TRƯƠNG XUÂN NAM Một số biểu đồ vẽ matplotlib TRƯƠNG XUÂN NAM Một số biểu đồ vẽ matplotlib TRƯƠNG... 17.6, 8. 8, 8, 7.7, 6.7 TRƯƠNG XUÂN NAM 39 Bài tập Vẽ biểu đồ hình ứng với liệu sau Languages: Java, Python, PHP, JavaScript, C#, C++ Popularity: 22.2, 17.6, 8. 8, 8, 7.7, 6.7 TRƯƠNG XUÂN NAM