Hướng dẫn python bokeh tutorial - hướng dẫn tạo hiệu ứng bokeh bằng python

Cài đặt Bokeh#

Bokeh được chính thức hỗ trợ và thử nghiệm trên Python 3,8 trở lên (CPython).

Bạn có thể cài đặt Bokeh với conda hoặc pip:

Sử dụng lệnh này để cài đặt Bokeh:

Conda yêu cầu Anaconda hoặc Miniconda phải được cài đặt trên hệ thống của bạn.

Sử dụng lệnh này để cài đặt Bokeh:

Conda yêu cầu Anaconda hoặc Miniconda phải được cài đặt trên hệ thống của bạn.Installation details section.

Để biết thêm thông tin chi tiết về cài đặt và các vấn đề tiềm ẩn mà bạn có thể gặp phải, hãy truy cập phần chi tiết cài đặt.

Hướng dẫn bước đầu tiên#

Thực hiện theo các hướng dẫn này để nhanh chóng tìm hiểu về các tính năng và khả năng quan trọng nhất của Bokeh.installation of Bokeh.

Các hướng dẫn bước đầu tiên là cho bất kỳ ai mới đến Bokeh. Điều kiện tiên quyết duy nhất cho việc sử dụng các hướng dẫn này là sự hiểu biết cơ bản về Python và cài đặt làm việc của Bokeh.user guide and reference guide in case you want to learn more about any of the topics covered in the first steps guides.

Các gói Bokeh là một thư viện trực quan tương tác sử dụng các trình duyệt web để trình bày của mình. Mục tiêu của nó là cung cấp đồ họa trong tĩnh mạch của D3.js trông thanh lịch và dễ xây dựng. Bokeh hỗ trợ các tập dữ liệu lớn và phát trực tuyến. Bạn có thể sẽ sử dụng thư viện này để tạo các ô / đồ thị. Một trong những đối thủ cạnh tranh chính của nó dường như là Plotly .

Lưu ý: Đây sẽ không phải là một hướng dẫn chuyên sâu về thư viện Bokeh vì số lượng biểu đồ và hình ảnh khác nhau mà nó có khả năng là khá lớn. Thay vào đó, mục đích của bài viết là cung cấp cho bạn một hương vị của những gì thư viện thú vị này có thể làm.

Hãy dành một chút thời gian và cài đặt nó. Cách dễ nhất để làm như vậy là sử dụng pip hoặc conda. Đây là cách bạn có thể sử dụng pip:

pip install bokeh

Điều này sẽ cài đặt Bokeh và tất cả các phụ thuộc của nó. Bạn có thể muốn cài đặt Bokeh vào virtualenv vì điều này, nhưng điều đó tùy thuộc vào bạn. Bây giờ hãy xem một ví dụ đơn giản. Lưu mã sau vào một tệp với bất kỳ tên nào bạn cho là phù hợp.

from bokeh.plotting import figure, output_file, show

output_file("/path/to/test.html")

x = range(1, 6)
y = [10, 5, 7, 1, 6]
plot = figure(title='Line example', x_axis_label='x', y_axis_label='y')
plot.line(x, y, legend='Test', line_width=4)
show(plot)

Ở đây chúng tôi chỉ cần nhập một vài mục từ thư viện Bokeh. Chúng tôi chỉ cho nó biết nơi để lưu đầu ra. Bạn sẽ lưu ý rằng đầu ra là HTML. Sau đó, chúng tôi tạo một số giá trị cho trục x và y để chúng tôi có thể tạo cốt truyện. Sau đó, chúng tôi thực sự tạo ra đối tượng hình và đặt cho nó một tiêu đề và nhãn cho hai trục. Cuối cùng, chúng tôi vẽ đường thẳng, cho nó một huyền thoại và độ rộng đường và hiển thị cốt truyện. Lệnh show sẽ thực sự mở cốt truyện của bạn trong trình duyệt mặc định của bạn. Cuối cùng bạn sẽ thấy một cái gì đó như thế này:

Bokeh cũng hỗ trợ Jupyter Notebook với thay đổi duy nhất là bạn sẽ cần sử dụng output_notebook thay vì output_file .output_notebook thay vì output_file .

Hướng dẫn bắt đầu nhanh Bokeh có một ví dụ gọn gàng về một loạt các sóng hình sin trên một ô lưới. Tôi đã giảm ví dụ xuống một chút chỉ còn một sóng hình sin. Lưu ý rằng bạn sẽ cần cài đặt NumPy cho ví dụ sau để hoạt động chính xác:

import numpy as np

from bokeh.layouts import gridplot
from bokeh.plotting import figure, output_file, show

N = 100
x = np.linspace(0, 4*np.pi, N)
y0 = np.sin(x)

output_file('sinewave.html')

sine = figure(width=500, plot_height=500, title='Sine')
sine.circle(x, y0, size=10, color="navy", alpha=0.5)

p = gridplot([[sine]], toolbar_location=None)

show(p)

Sự khác biệt chính giữa ví dụ này và ví dụ trước là chúng tôi đang sử dụng NumPy để tạo các điểm dữ liệu và chúng tôi sẽ đưa hình của mình vào trong một ô lưới thay vì chỉ vẽ hình. Khi bạn chạy mã này, bạn sẽ kết thúc với một cốt truyện trông như thế này:ô lưới thay vì chỉ vẽ hình. Khi bạn chạy mã này, bạn sẽ kết thúc với một cốt truyện trông như thế này:

Nếu bạn không thích các vòng tròn, thì bạn sẽ rất vui khi biết rằng Bokeh hỗ trợ các hình dạng khác, chẳng hạn như hình vuông, hình tam giác và một số hình khác.

Kết thúc

Dự án Bokeh thực sự thú vị và cung cấp API đơn giản, dễ sử dụng để tạo biểu đồ, sơ đồ và trực quan hóa dữ liệu khác của bạn. Các tài liệu được kết hợp khá tốt và bao gồm rất nhiều ví dụ thể hiện những gì gói này có thể làm cho bạn. Rất đáng để đọc lướt qua tài liệu để bạn có thể thấy một số biểu đồ khác trông như thế nào và các ví dụ mã ngắn như thế nào tạo ra kết quả tốt như vậy. Điều hấp dẫn duy nhất của tôi là Bokeh không có cách lưu tệp hình ảnh theo chương trình. Đây dường như là một lỗi lâu dài mà họ đã cố gắng khắc phục trong một vài năm nay. Hy vọng họ sớm tìm ra cách hỗ trợ tính năng đó. Nếu không, tôi nghĩ rằng nó thực sự mát mẻ!

8 hữu ích 0 bình luận 7.9k xem chia sẻ 0 bình luận 7.9k xem chia sẻ

các gói bokeh là một thư viện trực quan tương tác sử dụng các trình duyệt web để trình bày của mình. mục tiêu của nó là cung cấp đồ họa theo kiểu d3.js trông thanh lịch và dễ xây dựng. bokeh hỗ trợ các tập dữ liệu lớn và truyền trực tuyến. bạn có thể sẽ sử dụng thư viện này để tạo các biểu đồ / đồ thị. một trong những đối thủ cạnh tranh chính của nó dường như có âm mưu .

lưu ý: đây sẽ không phải là hướng dẫn chuyên sâu về thư viện bokeh vì số lượng các biểu đồ và hình ảnh trực quan khác nhau mà nó có thể thực hiện được là khá lớn. thay vào đó, mục đích của bài viết là cung cấp cho bạn những gì mà thư viện thú vị này có thể làm được.

hãy dành một chút thời gian và cài đặt nó. cách dễ nhất để làm như vậy là sử dụng pip hoặc conda. đây là cách bạn có thể sử dụng pip:

pip install bokeh

điều này sẽ cài đặt bokeh và tất cả các phụ thuộc của nó. bạn có thể muốn cài đặt bokeh vào virtualenv vì điều này, nhưng điều đó tùy thuộc vào bạn. bây giờ chúng ta hãy kiểm tra một ví dụ đơn giản. lưu đoạn mã sau vào một tệp với bất kỳ tên nào bạn cho là phù hợp.

from bokeh.plotting import figure, output_file, show

output_file("/path/to/test.html")

x = range(1, 6)
y = [10, 5, 7, 1, 6]
plot = figure(title='line example', x_axis_label='x', y_axis_label='y')
plot.line(x, y, legend='test', line_width=4)
show(plot)

ở đây chúng tôi chỉ nhập một vài mục từ thư viện bokeh. chúng tôi chỉ cho nó biết nơi lưu đầu ra. bạn sẽ lưu ý rằng đầu ra là html. sau đó chúng tôi tạo một số giá trị cho các trục x và y để chúng tôi có thể tạo biểu đồ. sau đó chúng tôi thực sự tạo đối tượng hình và đặt cho nó một tiêu đề và nhãn cho hai trục. cuối cùng, chúng tôi vẽ đường thẳng, cung cấp cho nó một chú giải và chiều rộng dòng và hiển thị âm mưu. lệnh hiển thị sẽ thực sự mở cốt truyện của bạn trong trình duyệt mặc định của bạn. cuối cùng bạn sẽ thấy một cái gì đó như thế này:

bokeh cũng hỗ trợ sổ ghi chép jupyter với thay đổi duy nhất là bạn sẽ cần sử dụng output_notebook thay vì output_file . output_notebook thay vì output_file .

hướng dẫn bắt đầu nhanh bokeh có một ví dụ rõ ràng về một loạt các sóng sin trên một biểu đồ lưới. tôi đã giảm ví dụ xuống một chút chỉ còn một sóng hình sin. lưu ý rằng bạn sẽ cần cài đặt numpy để ví dụ sau hoạt động chính xác:

import numpy as np

from bokeh.layouts import gridplot
from bokeh.plotting import figure, output_file, show

n = 100
x = np.linspace(0, 4*np.pi, n)
y0 = np.sin(x)

output_file('sinewave.html')

sine = figure(width=500, plot_height=500, title='sine')
sine.circle(x, y0, size=10, color="navy", alpha=0.5)

p = gridplot([[sine]], toolbar_location=none)

show(p)

sự khác biệt chính giữa ví dụ này và ví dụ trước là chúng tôi đang sử dụng numpy để tạo ra các điểm dữ liệu và chúng tôi đang đưa hình của mình vào bên trong một biểu đồ lưới thay vì chỉ vẽ chính hình đó. khi bạn chạy mã này, bạn sẽ kết thúc với một âm mưu trông giống như sau: biểu đồ lưới thay vì chỉ vẽ chính hình đó. khi bạn chạy mã này, bạn sẽ kết thúc với một âm mưu trông giống như sau:

nếu bạn không thích hình tròn, thì bạn sẽ rất vui khi biết rằng bokeh hỗ trợ các hình dạng khác, chẳng hạn như hình vuông, hình tam giác và một số hình dạng khác.

gói lại

dự án bokeh thực sự thú vị và cung cấp một api đơn giản, dễ sử dụng để tạo đồ thị, biểu đồ và các hình ảnh trực quan khác về dữ liệu của bạn. tài liệu được tổng hợp khá tốt và bao gồm rất nhiều ví dụ cho thấy gói này có thể làm gì cho bạn. Rất đáng để bạn chỉ cần đọc lướt qua tài liệu để bạn có thể thấy một số biểu đồ khác trông như thế nào và các ví dụ mã ngắn như thế nào mà tạo ra kết quả tốt như vậy. mối quan tâm duy nhất của tôi là bokeh không có cách nào để lưu tệp hình ảnh theo chương trình. Đây dường như là một lỗi lâu dài mà họ đã cố gắng sửa chữa trong vài năm nay. hy vọng họ sẽ sớm tìm ra cách hỗ trợ tính năng đó. nếu không, tôi nghĩ rằng nó thực sự tuyệt vời!

0 hữu ích 0 bình luận 5.5k xem chia sẻ 0 bình luận 5.5k xem chia sẻ