Tạo Python trong Biểu đồ và Biểu đồ trong Excel
Python trong Excel hiện đang được triển khai cho người dùng Doanh nghiệp và Doanh nghiệp đang chạy Kênh Hiện tại trên Windows, bắt đầu với Phiên bản 2407 (Bản dựng 17830.20128). Tính năng này có sẵn trong bản xem trước cho người dùng Gia đình và Cá nhân chạy Kênh Hiện tại trên Windows bắt đầu từ Phiên bản 2405 (Bản dựng 17628.20164). Python trong Excel có sẵn trong bản xem trước cho người dùng Giáo dục đang chạy Kênh Hiện tại (Bản xem trước) thông qua Chương trình Người dùng nội bộ Microsoft 365.
Phiên bản này sẽ được triển khai cho Excel for Windows trước, rồi đến các nền tảng khác vào một ngày sau đó. Để biết thêm thông tin về tính sẵn dùng, hãy xem Python trong Excel khả dụng.
Nếu bạn gặp bất kỳ mối lo ngại nào với Python trong Excel, vui lòng báo cáo chúng bằng cách chọn Trợ > Phản hồi trong Excel.
Bạn mới làm quen với Python trong Excel? Bắt đầu với Phần giới thiệu về Python trong Excelvà Bắt đầu với Python trong Excel.
Sử dụng thư viện Python nguồn mở để tạo biểu đồ và biểu đồ
Python trong Excel đi kèm với một tập hợp cốt lõi các thư viện Python được cung cấp bởi Anaconda. Bài viết này mô tả cách sử dụng thư viện Python, chẳng hạn như seabornvà matplotlib, để tạo các biểu đồ và biểu đồ. Để tìm hiểu thêm về các thư viện mã nguồn mở sẵn dùng với Python trong Excel, hãy xem Thư viện nguồn mở và Python trong Excel.
Các ví dụ trong bài viết này sử dụng tập dữ liệu Hoa mống mắt. Tải xuống sổ làm việc mẫu này để làm theo cùng với bài viết: python-in-excel-iris-dataset.xlsx.
Tạo một âm mưu cặp với seaborn
Ví dụ này cho thấy cách tạo trực quan hóa hình vẽ cặp của tập dữ liệu hoa Mống mắt. Biểu đồ ghép nối là ma trận các biểu đồ và biểu đồ so sánh mối quan hệ giữa mỗi biến số trong một tập dữ liệu. Trong trường hợp này, tập dữ liệu hoa Mống mắt chứa bốn cột dữ liệu số: sepal_length, sepal_width, petal_length và petal_width.
Python trong Excel tạo ra trực quan hóa với thư viện seaborn. Thư viện seabornđược tự động nhập cho Python trong Excel với câu lệnh nhập sau đây, cho phép bạn tham khảo nó với biệt danh sns.
import seaborn as sns
Để tạo một cặp đồ thị dữ liệu hoa Mống mắt với thư viện seaborn, hãy thực hiện các bước sau:
-
Nhập đoạn mã sau đây vào một Python trong ô Excel. Đoạn mã lưu trữ biểu đồ cặp dưới dạng một biến được gọi là pairplot. Nó tạo ra các cốt truyện cặp với bí danh thư viện seaborn và các pairplot chức năng seaborn. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Là đối số của hàm pairplot, đoạn mã sử dụng hàm Python tùy chỉnh xl() và tham chiếu bảng đầu tiên trong trang tính, Table1. Bao gồm toàn bộ nội dung của bảng (như [#All]) và các ghi chú mà bảng có chứa hàng tiêu đề ( như tiêu đề=True). Trong ví dụ này, Table1 trong trang tính chứa tập dữ liệu Mống mắt.
Lưu ý: Nếu bạn gặp bất kỳ lỗi nào, hãy xem khắc phục lỗi Python trong Excel để biết thêm thông tin.
-
Sau khi cam kết công thức Python của bạn, Python trong Excel trả về trực quan hóa biểu đồ cặp trong một đối tượng hình ảnh. Chọn biểu tượng thẻ trong ô đối tượng hình ảnh để xem trước trực quan hóa.
-
Giữ trực quan hóa dưới dạng đối tượng Hình ảnh để tiếp tục sử dụng để tính toán Python. Trích xuất hình ảnh vào lưới Excel để đổi kích cỡ hình ảnh và xem từng vẽ một cách chi tiết hơn. Để trích xuất hình ảnh vào lưới, hãy bấm chuột phải hoặc Ctrl+bấm vào ô có chứa đối tượng hình ảnh và chọn Hiển thị Vẽ trên Ô từ menu.
Để biết thêm thông tin về việc trích xuất đối tượng hình ảnh, hãy xem mục Trích xuất đối tượng hình ảnh vào bài viết lưới Excel trong bài viết này.
Tạo một âm mưu phân tán với Matplotlib
Ví dụ này mô tả cách tạo biểu đồ tán xạ với tập dữ liệu mẫu hoa Mống mắt. Một biểu đồ tán xạ hiển thị mối quan hệ giữa hai biến số trong một tập dữ liệu. Ví dụ tạo ra một biểu đồ phân tán trông giống như ảnh chụp màn hình sau đây, so sánh các giá sepal_width và sepal_length trị.
Python trong Excel sẽ tạo trực quan hóa bằng thư viện mã nguồn mở Matplotlib. Thư viện Matplotlibđược tự động nhập cho Python trong Excel với câu lệnh nhập sau đây, cho phép bạn tham khảo thư viện dưới dạng plt.
import matplotlib.pyplot as plt
Để tạo ra một biểu đồ phân tán của tập dữ liệu hoa Mống mắt với thư viện Matplotlib, hãy thực hiện các bước sau đây:
-
Trong một Python trong ô Excel, hãy dùng hàm tán xạ matplotlib vànhập các cột sepal_length và sepal_width của tập dữ liệu Mống mắt làm các đối số. Trong ví dụ này, Table1 trong trang tính chứa tập dữ liệu Mống mắt.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Thêm nhãn và tiêu đề vào biểu đồ phân tán. # Label the x and y axes of the plot. plt.xlabel('sepal_length') plt.ylabel('sepal_width') # Add a title to the plot. plt.title('Sepal length and width analysis')
Lưu ý: Bạn có thể thêm đoạn mã này dưới dạng một dòng mã bổ sung sau công thức Python ở bước trước đó, trong cùng ô Excel hoặc bạn có thể nhập nó vào ô Python mới trong ô Excel trong sổ làm việc của mình. Nếu bạn chọn nhập vào ô mới, hãy đảm bảo tuân theo các quy tắc thứ tự tính toán chính của hàng và nhập vào sau ô đầu tiên.
-
Sau khi cam kết công thức Python của bạn, Python trong Excel trả về trực quan hóa biểu đồ tán xạ như một đối tượng hình ảnh. Chọn biểu tượng thẻ trong ô đối tượng hình ảnh để xem trước trực quan hóa.
Lưu ý: Nếu bạn gặp bất kỳ lỗi nào, hãy xem khắc phục lỗi Python trong Excel để biết thêm thông tin.
-
Hãy giữ trực quan hóa như một đối tượng hình ảnh để tiếp tục sử dụng nó để tính toán Python. Trích xuất hình ảnh vào lưới Excel để đổi kích cỡ hình ảnh và xem biểu đồ chi tiết hơn. Để trích xuất hình ảnh vào lưới, hãy bấm chuột phải hoặc Ctrl+bấm vào ô có chứa đối tượng hình ảnh và chọn Hiển thị Vẽ trên Ô từ menu.
Để biết thêm thông tin về việc trích xuất đối tượng hình ảnh, hãy xem mục Trích xuất đối tượng hình ảnh vào bài viết lưới Excel trong bài viết này.
Trích xuất một đối tượng hình ảnh vào lưới Excel
Như minh họa bằng các ví dụ trong bài viết này, các thư viện Python như seaborn và Matplotlib có thể trả về các phần trực quan hóa dữ liệu cho các ô Excel. Theo mặc định, Python trong Excel trả về các phần trực quan hóa này dưới dạng đối tượng hình ảnh.
Chọn biểu tượng thẻ trong ô đối tượng hình ảnh để xem trước trực quan hóa.
Có hai cách để trích xuất hình ảnh vào lưới Excel: hiển thị hình ảnh dưới dạng vẽ trên các ô hoặc hiển thị hình ảnh trong một ô.
Hiển thị ảnh trên các ô
Làm theo các bước sau để hiển thị hình ảnh dưới dạng vẽ trên ô.
-
Bấm chuột phải hoặc Ctrl+bấm vào ô có chứa đối tượng hình ảnh và chọn Hiển thị Vẽ trên Ô từ menu (hoặc sử dụng phím tắt Ctrl+Alt+Shift+C). Thao tác này sẽ tạo ra một bản sao của hình ảnh trôi nổi trên lưới Excel và có thể được thay đổi kích cỡ dễ dàng. Đối tượng hình ảnh gốc vẫn còn trong ô ban đầu.
-
Chọn và kéo hình ảnh vẽ để di chuyển nó xung quanh trang tính của bạn. Chọn và kéo nút ở các góc và cạnh của hình ảnh để đổi kích cỡ ảnh.
Hiển thị hình ảnh trong một ô
Làm theo các bước sau để hiển thị hình ảnh trong một ô.
-
Trả về đối tượng hình ảnh dưới dạng giá trị Excel. Chọn ô đối tượng hình ảnh, đi đến menu đầu ra Python trong thanh công thức, rồi chọn Giá trị Excel.
Hình vẽ bây giờ sẽ hiển thị trong ô.Mẹo: Để chuyển đổi kết quả công thức Python giữa các đối tượng Python và giá trị Excel, hãy sử dụng phím tắt Ctrl+Alt+Shift+M. Để tìm hiểu thêm về các lối tắt bàn phím, hãy xem Phím tắt Python trong Excel.
-
Kích cỡ của hình ảnh vẽ phụ thuộc vào kích thước của ô. Tăng kích cỡ hình ảnh bằng cách tăng kích cỡ ô hoặc bằng cách phối các ô.
Tạo biểu đồ và biểu đồ của riêng bạn
Bây giờ bạn đã học được cách tạo Python trong các biểu đồ và biểu đồ Excel với tập dữ liệu mẫu, nhập dữ liệu của riêng bạn vào sổ làm việc Excel và tạo trực quan hóa tùy chỉnh.
Để nhập dữ liệu ngoài để sử dụng với Python trong Excel, hãy sử dụng Power Query. Để tìm hiểu thêm, xem mục Sử Power Query nhập dữ liệu cho Python trong Excel.
Sử dụng các phông chữ khác nhau cho ngôn ngữ không phải tiếng Anh
Để lập biểu đồ cho dữ liệu sử dụng các ký tự không phải bảng chữ cái La-tinh, chẳng hạn như tiếng Trung, tiếng Hàn hoặc tiếng Thái, hãy sử excel.FontPath. Theo mặc định, Python trong Excel kết xuất các ký tự chữ cái không phải là chữ cái La-tinh dưới dạng một hình vuông trống ('□'). Để giải quyết vấn đề này, excel.FontPath cho phép bạn sử dụng mô-đun excel để gọi phông chữ khác và kết xuất các ký tự.
Các phông chữ sau đây sẵn dùng. Thuộc tính được chắp thêm vào excel.FontPath mã Python của bạn. Đường dẫn tham chiếu đến tệp phông chữ được gọi theo thuộc tính.
Thuộc tính |
Đường dẫn |
---|---|
TIẾNG BENGALI |
/usr/share/fonts/Vrinda.ttf |
CHINESE_SIMPLIFIED |
/usr/share/fonts/SimSun.ttf |
CHINESE_TRADITIONAL |
/usr/share/fonts/MingLiU.ttf |
TIẾNG HIN-ĐI |
/usr/share/fonts/Mangal.ttf |
TIẾNG NHẬT |
/usr/share/fonts/Meiryo.ttf |
TIẾNG TRIỀU TIÊN |
/usr/share/fonts/Batang.ttf |
THÁI |
/usr/share/fonts/THSarabunPSK.ttf |
Excel. Ví dụ về FontPath
Trước
Biểu đồ này không thể kết xuất các nhãn vẽ đúng vì phông chữ mặc định không hỗ trợ các ký tự được cung cấp.
Mẫu mã cho nhãn biểu đồ kết xuất không đúng cách:
import matplotlib.pyplot as plt # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |
Sau khi
Để sửa các nhãn biểu đồ trong ví dụ này, hãy sử dụng excel.FontPath.CHINESE_SIMPLIFIED kết xuất đúng cách các ký tự tiếng Trung được cung cấp.
Mẫu mã cho nhãn biểu đồ được kết xuất đúng cách:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. # Returns '/usr/share/fonts/simsun.ttf' font_path = excel.FontPath.CHINESE_SIMPLIFIED # Point the properties to the font path. font_properties = FontProperties(fname=font_path) plt.rcParams['font.family'] = font_properties.get_name() # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |