ยอดขายใน Dash app
กราฟ Plotly ของคุณสร้างผลกระทบอย่างมากให้กับบริษัท แต่การแชร์งานให้เพื่อนร่วมทีมดูนั้นยังไม่สะดวกนัก เพราะต้องส่งออกกราฟเป็นไฟล์ภาพหรือ HTML ทุกครั้ง และเมื่อมีเวอร์ชันใหม่ก็ต้องส่งอีเมลหลายฉบับ
จะดีกว่ามากหากสามารถนำกราฟที่สร้างขึ้นมาแสดงผลเป็นเว็บแอปพลิเคชันได้ คุณจึงลองทดสอบแนวทางนี้กับกราฟเส้นแสดงยอดขายรายเดือนแยกตามประเทศ
ชุดข้อมูล ecom_sales พร้อมใช้งานแล้ว และ line_fig ถูกสร้างขึ้นใหม่ให้เรียบร้อยแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างแดชบอร์ดด้วย Dash และ Plotly
คำแนะนำการฝึกหัด
- สร้างออบเจ็กต์ Dash app เปล่าชื่อ
app - กำหนด layout ของ app ให้เป็นคอมโพเนนต์กราฟชิ้นเดียวโดยใช้ figure จาก
line_fig - ตั้งค่าให้ app รันเซิร์ฟเวอร์ในโหมดพัฒนาเมื่อรันสคริปต์จาก console
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from dash import Dash, dcc
import pandas as pd
import plotly.express as px
ecom_sales = pd.read_csv('/usr/local/share/datasets/ecom_sales.csv')
ecom_sales = ecom_sales.groupby(['Year-Month','Country'])['OrderValue'].agg('sum').reset_index(name='Total Sales ($)')
line_fig = px.line(data_frame=ecom_sales, x='Year-Month', y='Total Sales ($)', title='Total Sales by Month', color='Country')
# Create the Dash app
app = ____()
# Set up the layout with a single graph
app.____ = [dcc.____(
id='my-line-graph',
figure=line_fig)]
# Set the app to run in development mode
if __name__ == '__main__':
app.____(debug=____)