Professional Documents
Culture Documents
Chuong 2
Chuong 2
NỘI DUNG
2.1. Giới thiệu về trực quan hóa so sánh
Mục tiêu học tập
2.2. Thực hiện trực quan hóa so sánh với Python
Hiểu khái niệm TQH so sánh, giải thích sự phù hợp các loại biểu đồ đối với 2.2.1. Biểu đồ cột/thanh (Column/Bar Chart)
mục tiêu TQH so sánh. 2.2.2. Biểu đồ cột/thanh theo nhóm (Grouped Column/Bar Chart)
Đánh giá điểm mạnh, hạn chế các loại biểu đồ TQH so sánh dữ liệu kế toán.
Áp dụng ngôn ngữ Python và thư viện để thực hiện vẽ TQH biểu đồ so sánh 2.2.3. Biểu đồ cột xếp chồng (Stacked Column Chart)
dữ liệu kế toán. 2.2.4. Biểu đồ vùng (Area Chart)
Thiết kế và thực hiện dự án TQH biểu đồ so sánh dữ liệu kế toán, tài chính. 2.2.5. Biểu đồ vùng xếp chồng (Stacked Area Chart)
2.2.6. Biểu đồ đường (Line Chart)
3
3/8/2023
Bar plot:
Biểu đồ so sánh giá trị theo thời gian của dữ liệu Các ô thanh được vẽ theo chiều dọc,
Số loại dữ liệu cần so sánh không nhiều.
bar (x, height [, width, bottom, align, data])
Barh plot:
Các ô thanh được vẽ theo chiều ngang
Số loại dữ liệu cần so sánh nhiều hoặc tên dài
barh - barh (y, width [, height, left, align])
9 10
11 12
3/8/2023
• Biểu đồ thanh được nhóm là một loại biểu đồ sử dụng các thanh được
nhóm lại với nhau để trực quan hóa các giá trị của nhiều biến cùng
một lúc.
• Bài thực hành 01 (Grouped Column/Bar Chart bằng thư viện
matplotlib ) biểu thị doanh thu từng dòng sản phẩm theo các chi nhánh
tương tứng.
• Bài thực hành 02 (Grouped Column/Bar Chart bằng thư viện seaborn )
biểu thị số lượng khách hàng đến cửa hàng theo thời gian khác nhau
vào các ngày trong tuần.
13 14
2.2.2. Biểu đồ cột/thanh theo nhóm (Grouped Column/Bar Chart) 2.2.2. Biểu đồ cột/thanh theo nhóm (Grouped Column/Bar Chart)
Bài thực hành 03 Grouped Bar Chart (thư viện matplotlib) Bài thực hành 04 Grouped Bar Chart (thư viện seaborn)
15 16
3/8/2023
• Biểu đồ thanh hoặc biểu đồ cột có thể là một biểu đồ có các thanh hình
chữ nhật có chiều dài và chiều cao tỷ lệ với giá trị mà chúng biểu thị.
Các ô thanh thường được vẽ theo chiều ngang hoặc chiều dọc.
• Các ô thanh xếp chồng lên nhau đại diện cho các nhóm khác nhau trên
đỉnh cao nhất của 1 nhóm khác. Đỉnh của thanh phụ thuộc vào chiều
cao của toàn bộ các dữ liệu cùng nhóm. Giá trị sẽ xếp chồng lên nhau
thay vì xuất phát từ giá trị 0.
• Bài thực hành 05- Stacked bar chart (thư viện matplotlib) Doanh số 6
tháng đầu năm 2022 của Chi nhánh 1 và 2.
• Bài thực hành 06- Vẽ biểu đồ bar và stacked bar chart thư viện
matplotlib) thông qua dataframe.
17 18
Chi nhánh 1 tương ứng 20, 35, 30, 35, 27, 32 tỷ đồng; • A. Vẽ biểu đồ so sánh số lượng nv của các chi nhánh
Doanh số 6 tháng đầu năm 2022 của Gợi ý : Group chi nhánh => Vẽ biểu đồ bar
Chi nhánh 2 tương ứng 25, 32, 34, 20, 25, 35 tỷ đồng. • B. Thêm plt.title thêm tên biểu đồ, plt.ylabel thêm nhãn trục y,
plt.xlabel thêm nhãn trục x
Tiến hành vẽ biểu đồ
• C. Vẽ biểu đồ Số lượng nhân viên theo chi nhánh sử dụng
Doanh số theo chi nhánh 6 tháng đầu năm 2022 sử dụng stacked bar chart, phân biệt hai nhóm nam, nữ
Stacked bar chart
Gợi ý: biểu đồ thể hiện giới tính nam phía dưới => Sử dụng
Gợi ý bottom=df_nam['sonv']
Sử dụng bottom=…. Để chọn bar ở bên dưới D. Vẽ biểu đồ ngang số lượng nhân viên theo chi nhánh
E. Nhận xét biểu đồ nào phù hợp
19
3/8/2023
23 24
3/8/2023
25 26
27 28
3/8/2023
29 30
31 32
3/8/2023
Cho dữ liệu giao dịch phát sinh qua các kênh bán hàng online.
Yêu cầu
1, Tiến hành vẽ biểu đồ doanh thu các kênh bán hàng
Understock.com ; Shoppe.com; iBay.com; Walcart; Bullseye
2, Nhận xét biểu đồ
33
Dự án 2-01 Dự án 2-01
Dữ liệu giao dịch phát sinh qua các kênh bán hàng online. Dữ liệu giao dịch phát sinh qua các kênh bán hàng online.
Gợi ý thực hiện
1.a Tiến hành đọc dữ liệu từ file csv: sử dụng lệnh pd.read_csv()
1.b Xem thử cột ngày tháng năm đã đúng dạng dữ liệu chưa, thực hiện
chuyển đổi nếu chưa pd.to_datetime()
1.c Xem 5 dòng đầu tiên của dữ liệu df.head()
35 36
3/8/2023
Dự án 2-01
Dự án 2-01 Dữ liệu giao dịch phát sinh qua các kênh bán hàng online.
Dữ liệu giao dịch phát sinh qua các kênh bán hàng online.
• 2. a.Tiến hành vẽ plot với dataframe; thể hiện kênh bán hàng "Bullseye" và
ngày giao dịch "Date "
Chọn kích thước của figure
fig = plt.figure(figsize=())
ax = fig.add_subplot()
ax.plot(x,y)
• b.Tiến hành vẽ plot với dataframe; thể hiện kênh bán hàng "Bullseye" kênh
bán hàng “Walcart” và ngày giao dịch "Date " (Tiến hành tương tự 2a)
• c.Tiến hành vẽ plot với dataframe; thể hiện tất cả các kênh bán hàng và
ngày giao dịch "Date “ (Tiến hành tương tự 2a)
37 38
Dự án 2-01
Dự án 2-01
Dữ liệu giao dịch phát sinh qua các kênh bán hàng online.
Gợi ý thực hiện Dữ liệu giao dịch phát sinh qua các kênh bán hàng online.
3.a Tiến hành tạo dataframe doanh thu bằng cách thiết lập index là “Date”, 5. a.Thêm legend cho các kênh bán hàng, Thực hiện lệnh ax.legend
Thực hiện lệnh df.set_index('Date')
5.b Điều chỉnh y-ticks and y-tick labels với định dạng tiền tệ,
3.b Tiến hành thực hiện việc set_title là “Daily Sales Q12020”; set_xlabel 'Date‘; và set_ylabel là
“Revenue (USD)” Thực hiện lệnh ytick_labels = [f'{value:,.2f}' for value in
Thực hiện lệnh ax.set_title(); ax.set_xlabel(); ax.set_ylabel() ytick_values]
4.a Tiến hành set xtick_values sao cho định dạng ngày tháng năm là yyyy-mm-dd cho từng tháng tương 5,c Set đường annotation “Understock sale event”
ứng 4 tháng đầu năm.
Thực hiện lệnh pd.Timestamp Thực hiện lệnh ax.annotate()
4. bTiến hành set xtick_values sao cho định dạng ngày tháng năm là thứ-ngày-tháng cho từng tháng tương 6, Tiến hành lưu biểu đồ dưới dạng picture
ứng 4 tháng đầu năm.
Thực hiện lệnh pd.Timestamp Thực hiện lệnh fig.savefig()
39 40
3/8/2023
Dự án 2-01
Dữ liệu giao dịch phát sinh qua các kênh bán hàng online. Dự án 2-04 minh họa trực quan hóa dữ liệu kế toán
so sánh chỉ tiêu trên BCTC
•
Sử dụng kiến thức Chương 1, Chương 2 và dữ liệu Báo cáo
lưu chuyển tiền tệ của công ty tiến hành vẽ biểu đồ
• Các em hãy thực hiện đọc file dữ liệu “cashflow” , tiến hành
xử lý dữ liệu và làm sạch.
• Thực hiện vẽ biểu đồ cho thấy tình hình các luồng tiền từ các
hoạt động kinh doanh, tài chính, và đầu tư qua các năm từ lúc
công ty được niêm yết đến 2021
• Nhận xét biểu đồ vừa vẽ.
41
BTVN
48
3/8/2023
• Dự án 2-03: Tìm hiểu cấu trúc dữ liệu, và tiến hành xử lý, làm sạch
dữ liệu.
• Với dữ liệu thuộc Báo cáo tài chính tại 1 trong số công ty thuộc
VN INDEX 30 (qua các năm từ lúc công ty được niêm yết đến
2021).
• Các em hãy lựa chọn 1 doanh nghiệp mà mình quan tâm.
• Sau đó dựa vào Các BCTC (KQKD, BCLCTT, BCDKT) tìm hiểu
cấu trúc dữ liệu, và tiến hành xử lý, làm sạch dữ liệu.
51