Bokeh เป็นไลบรารี่การแสดงข้อมูล python สำหรับเว็บเบราว์เซอร์ มันสร้างกราฟิกเอนกประสงค์ที่หรูหราและกระชับ ใช้เพื่อสร้างพล็อตแบบโต้ตอบ แดชบอร์ด และแอปพลิเคชันข้อมูลอย่างรวดเร็วและง่ายดาย ในบทความนี้ เราจะมาดูกันว่าเราจะสร้างกราฟพื้นฐานประเภทต่างๆ โดยใช้โบเก้ได้อย่างไร
พล็อตเส้น
เราสามารถสร้างแผนภาพเส้นโดยใช้พิกัด x และ y ของจุดที่อยู่ในนั้น เป็นสองรายการ เราแสดงผลลัพธ์โดยตรงในเบราว์เซอร์โดยระบุความสูงและความกว้างของรูป นอกจากนี้เรายังสามารถจัดหาพารามิเตอร์เพิ่มเติม เช่น ความกว้างของเส้นและสีของเส้นได้
ตัวอย่าง
from bokeh.io import show from bokeh.plotting import figure p = figure(plot_width=300, plot_height=300) # add a line renderer p.line([ 2, 1, 2, 4], [ 1, 3, 5, 4], line_width=2, color="blue") # show the results show(p)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
พล็อตวงกลม
ในตัวอย่างนี้ เราใช้ฟังก์ชัน circle() เพื่อระบุค่าสำหรับพิกัด x และ y ของจุดศูนย์กลางของวงกลมในรูปแบบของรายการ อีกครั้ง เราสามารถระบุสีและขนาดของวงกลมเป็นพารามิเตอร์สำหรับฟังก์ชันนี้ได้ เราส่งออกผลลัพธ์ไปยังหน้าต่างเบราว์เซอร์
ตัวอย่าง
from bokeh.io import show from bokeh.plotting import figure p = figure(plot_width=400, plot_height=300) # add a line renderer p.circle([ 2, 1.5, 2, 3,2.4], [ 2, 3, 4, 4,3], size = 10, color = "red", alpha = 0.8) # show the results show(p)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
พล็อตแผนภูมิแท่ง
แผนภูมิแท่งถูกพล็อตโดยใช้ฟังก์ชัน vbar ในตัวอย่างด้านล่าง เราจะนำรายการค่าต่างๆ ที่เป็นชื่อของวันทำงาน จากนั้นจึงนำค่าสำหรับแต่ละแถบมาเป็นรายการของพารามิเตอร์ที่ชื่อด้านบน แน่นอนว่าด้วยโปรแกรมที่ซับซ้อนมากขึ้น เราสามารถนำเข้าข้อมูลภายนอกจากไฟล์หรือ API และจัดหาค่าเหล่านั้นให้กับพารามิเตอร์เหล่านี้ได้
ตัวอย่าง
from bokeh.io import show from bokeh.plotting import figure sales_qty = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] # Set the x_range to the list of categories above p = figure(x_range=sales_qty , plot_height=250, title="Sales Figures") # Categorical values can also be used as coordinates p.vbar(x=sales_qty , top=[6, 3, 4, 2, 4], width=0.4) # Set some properties to make the plot look better p.xgrid.grid_line_color = None p.y_range.start = 0 show(p)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -