คุณจะเห็นภาพของช่องทางที่แบ่งกลุ่มอย่างไร (และคุณสามารถใช้กับ Python ได้หรือไม่)


9

ฉันเห็นโพสต์นี้ใน Moz ซึ่งนำเสนอช่องทางการตลาดที่แบ่งกลุ่ม:ป้อนคำอธิบายรูปภาพที่นี่

สิ่งนี้จะมีค่าค่อนข้างน้อยในงานของฉัน สิ่งที่ฉันไม่มีความคิดก็คือทำอย่างไรจึงจะเห็นภาพข้อมูลดิบเพื่อแสดงช่องทางที่แบ่งกลุ่มแบบนี้ แนวคิดคือยอดขายที่นำมาจากแหล่งต่าง ๆ (ซึ่งเราใช้เพื่อแบ่งกลุ่มข้อมูลตาม) และผ่านหลายขั้นตอนตามเวลาที่พวกเขาเปลี่ยนเป็นดีล จากแต่ละขั้นไปยังอีกบางคนย่อหย่อน ความกว้างของแต่ละชิ้นถูกกำหนดโดยจำนวนนำที่แน่นอนในแต่ละชิ้น [ แก้ไข : สังเกตภาพที่ใช้สำหรับการอ้างอิงที่นี่ทำให้เข้าใจผิดเมื่อมันมาถึงตัวเลขที่ระบุทางด้านขวาของแต่ละชิ้น ดูเหมือนจะไม่มีความสัมพันธ์ระหว่างความกว้างของชิ้นและหมายเลข รูปภาพควรถูกใช้เพื่ออ้างอิงถึงการออกแบบช่องทางแบ่งส่วนเท่านั้น]

อย่างไรก็ตามความคิดใด ๆ วิธีการเห็นภาพหรือไม่ ถ้าเป็นไปได้ฉันชอบที่จะมีวิธีใน Python

นี่คือGoogle เอกสารที่มีข้อมูลหุ่นหากใครต้องการ ...

มองไปข้างหน้าเพื่อข้อมูลเชิงลึกของคุณ ขอบคุณ!


5
ฉันพบว่าภาพประกอบสับสนเนื่องจาก Lie Factor ขนาดใหญ่ติดตั้งอยู่ในนั้น: "ช่องทาง" ต่อเนื่องใช้ระดับที่แตกต่างกันซึ่งเปลี่ยนไปอย่างไม่สม่ำเสมอ ดังนั้นความกว้างของวงดนตรีจึงไม่ได้ถูกกำหนดโดยจำนวนสัมบูรณ์ในแต่ละ - อย่างน้อยก็ไม่ได้อยู่ในรูปแบบที่เข้าใจหรือมองเห็นได้ง่าย ดังนั้นคุณจะถามว่า: มีวิธีที่ดีกว่าในการมองเห็นข้อมูลดังกล่าวหรือวิธีการสร้างกราฟิกนี้ในงูหลาม?
whuber

สำหรับการทำงานกับซอฟต์แวร์ใด ๆ ก็ตามโดยทั่วไปคุณสามารถรวมหมวดหมู่ออฟเซ็ตสำหรับบาร์แบบเรียงซ้อนแล้วทำให้มองไม่เห็น นี่คือตัวอย่างของสเปรดชีต google เดียวกัน คุณสามารถเห็นมันเป็นกล่าวคือไม่มีประสิทธิภาพ สำหรับหมวดหมู่ที่ย่อมาจากสิ่งใดในตัวอย่างนั้น
Andy W

1
@whuber สวัสดี ไม่แน่ใจว่าฉันติดตาม แต่ละระดับเป็นตัวเลขที่แน่นอน ... และแต่ละระดับเป็นกลุ่มย่อยของระดับก่อนหน้า โปรดอธิบายว่าเพราะเหตุใดขนาดจึงเปลี่ยนแปลงอย่างไม่สม่ำเสมอ ขอบคุณ!
Optimesh

3
ส่วนบนสุดหมายถึงการเข้าชม 1.5 ล้านครั้งและมีช่วงกว้างประมาณ 500 พิกเซลบนหน้าจอของฉัน: การเข้าชมหนึ่งพิกเซล = 3000 ครั้ง ส่วนด้านล่างแสดงการเข้าชม 5,000 ครั้งและมีช่วงประมาณ 150 พิกเซลบนหน้าจอของฉันแทนที่จะน้อยกว่า 2 (ตามที่ @Andy ชี้ให้เห็นด้วยตัวอย่างของเขา) นั่นเป็นการพูดเกินจริงประมาณ 100 ถึง 1 เนื่องจากกราฟิกในคำถามนี้ดูเหมือนจะไม่สนใจเรื่องการพูดเกินจริงเช่นนั้นดูเหมือนว่าจะไม่มีประโยชน์ในการลดสัดส่วนเซกเมนต์: คุณจะได้รับข้อมูลที่ดีขึ้นโดยทำให้พวกมันมีความยาวเท่ากัน จะหลอกลวงน้อยกว่า
whuber

1
@whuber โอ้ฉันเห็นสิ่งที่คุณหมายถึงตอนนี้ ใช่ฉันเพิ่งนำภาพนั้นมาเป็นตัวอย่างในสิ่งที่ฉันต้องการทำด้วยสายตา ตัวเลขนั้นทำให้เข้าใจผิดอย่างไม่ต้องสงสัย
Optimesh

คำตอบ:


3

พล็อตนี้แสดงตารางฉุกเฉินสองทางที่มีข้อมูลอยู่ประมาณ:

                      Branded Unbranded Social Referring Direct   RSS
First-time...          177276    472737  88638    265915 472737 59092
Return Visits...       236002    629339 118001    354003 629339 78667
4+ Visits in ...       166514    444037  83257    249771 444037 55505
10+ Visit in ...        28782     76751  14391     43172  76751  9594
At Least One Visit...    6707     17886   3354     10061  17886  2236
Last Touch...             660      1759    330       989   1759   220

มีวิธีมากมายในการสร้างพล็อตนี้ ตัวอย่างเช่นคุณสามารถคำนวณตำแหน่งของแพทช์สี่เหลี่ยมแต่ละสีและแยกแต่ละแพทช์ โดยทั่วไปแล้วมันช่วยในการค้นหาคำอธิบายสั้น ๆ ว่าพล็อตแสดงข้อมูลอย่างไร

เราอาจมองว่าแผนภูมินี้เป็นรูปแบบหนึ่งของแผนภูมิแท่งแบบเรียงซ้อน

รูปที่ 1: แผนภูมิแท่งแบบซ้อน

พล็อตนี้แทบจะไม่ต้องการคำอธิบาย: ผ่านความคุ้นเคยเรารู้ว่าแต่ละแถวของรูปสี่เหลี่ยมตรงกับแต่ละแถวของตารางฉุกเฉิน ความยาวของรูปสี่เหลี่ยมผืนผ้านั้นเป็นสัดส่วนโดยตรงกับจำนวนของพวกเขา ว่าพวกเขาจะไม่ทับซ้อนกัน; และสีนั้นสอดคล้องกับคอลัมน์ของตาราง

ถ้าเราแปลงตารางนี้เป็น "data frame" หรือ "data table" Xมีหนึ่งแถวต่อการนับด้วยฟิลด์ที่ระบุชื่อแถวชื่อคอลัมน์และการนับจากนั้นการพล็อตมันมักจะเป็นจำนวนเงินที่จะเรียกฟังก์ชั่นที่เหมาะสมและกำหนดว่าจะหาชื่อแถวชื่อคอลัมน์และการนับได้อย่างไร การใช้การใช้งานไวยากรณ์ของกราฟิก ( ggplot2แพ็กเกจสำหรับR) สิ่งนี้จะดูเหมือน

ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col() 

รายละเอียดของกราฟิกเช่นความกว้างของแถบหนึ่งแถวและสีที่ใช้โดยทั่วไปจะต้องมีการกำหนดอย่างชัดเจน วิธีการที่จะทำขึ้นอยู่กับสภาพแวดล้อมการวางแผน (และเป็นที่น่าสนใจค่อนข้างน้อย: คุณเพียงแค่ต้องมองมัน)

การใช้ไวยากรณ์ของกราฟิกโดยเฉพาะนี้ให้ความยืดหยุ่นเพียงเล็กน้อยในการวางตำแหน่งแถบ วิธีหนึ่งในการสร้างลุคที่ต้องการโดยใช้ความพยายามเพียงเล็กน้อยคือการแทรกหมวดหมู่ที่มองไม่เห็นที่ฐานของแต่ละแท่งเพื่อให้บาร์อยู่กึ่งกลาง ความคิดเล็กน้อยแสดงให้เห็นว่าจำนวนของปลอมที่จำเป็นในการจัดวางแถบแต่ละแถบต้องเป็นค่าเฉลี่ยของความยาวทั้งหมดของบาร์และบาร์ที่ยาวที่สุด สำหรับตัวอย่างนี้จะเป็นคอลัมน์เริ่มต้นที่มีค่า

 254478.0       0.0  301115.0  897955.0  993610.5 1019817.0 

นี่คือแผนภูมิแท่งแบบเรียงซ้อนที่เกิดขึ้นซึ่งแสดงข้อมูลปลอมในสีเทาอ่อน:

รูปที่ 2

รูปที่ต้องการถูกสร้างขึ้นโดยทำให้กราฟิกสำหรับคอลัมน์ปลอมที่มองไม่เห็น:

รูปที่ 3

คำอธิบายไวยากรณ์ของกราฟิกของพล็อตไม่จำเป็นต้องเปลี่ยนแปลง: เราได้จัดเตรียมตารางฉุกเฉินที่แตกต่างกันเพื่อแสดงผลตามคำอธิบายเดียวกัน (และแทนที่การกำหนดสีเริ่มต้นสำหรับคอลัมน์ปลอม)

ความคิดเห็น

กราฟิกเหล่านี้มีความซื่อสัตย์:ขอบเขตแนวนอนของแพทช์สีแต่ละสัดส่วนโดยตรงกับข้อมูลพื้นฐานโดยไม่มีการบิดเบือน เปรียบเทียบพวกเขากับต้นฉบับ (ในคำถาม) แสดงให้เห็นว่าความผิดเพี้ยนของมันนั้นรุนแรงแค่ไหน ( Lie Lie 's Tufte )

หากต้องการแสดงรายละเอียดที่ด้านล่างของ "ช่องทาง" ให้พิจารณาการนับจำนวนตามพื้นที่มากกว่าความยาว คุณสามารถสร้างความยาวของแท่งตามสัดส่วนกับสแควร์รูทของความยาวทั้งหมดและความกว้าง (ในทิศทางแนวตั้ง) ได้เช่นกันกับสัดส่วนของสแควร์รูท ตอนนี้ด้านล่างของ "ช่องทาง" จะยาวประมาณหนึ่งในยี่สิบของความยาวที่ยาวที่สุดแทนที่จะเป็นหนึ่งในสี่ร้อยของที่อนุญาตให้แสดงรายละเอียดบางอย่าง แต่น่าเสียดายที่ggplot2การใช้งานไม่อนุญาตให้ใครทำการแมปตัวแปรกับความกว้างของบาร์และจำเป็นต้องมีการแก้ไขเพิ่มเติมที่เกี่ยวข้อง (อันที่จริงแล้วอธิบายแต่ละสี่เหลี่ยมแต่ละอัน) อาจมีการนำ Python มาใช้ซึ่งมีความยืดหยุ่นมากกว่า

อ้างอิง

เอ็ดเวิร์ด Tufte, การแสดงผลจอแสดงผลของข้อมูลเชิงปริมาณ สำนักพิมพ์เชสเชียร์ 2527

Leland Wilkinson, ไวยากรณ์ของกราฟิก Springer 2005


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.