Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การสร้างพล็อตกระจาย matplotlib จาก dataframes ใน pandas ของ Python


เมื่อใช้ Pandas เราสามารถสร้าง dataframe และสามารถสร้างตัวแปรตัวเลขและแกนโดยใช้วิธี subplot() หลังจากนั้น เราสามารถใช้เมธอด ax.scatter() เพื่อรับพล็อตที่ต้องการ

ขั้นตอน

  • ทำรายการจำนวนนักเรียน

  • ทำรายการคะแนนที่นักเรียนได้รับ

  • เพื่อแสดงสีของแต่ละจุดที่กระจัดกระจาย เราสามารถมีรายการสีได้

  • เมื่อใช้ Pandas เราจะมีรายการที่แสดงถึงแกนของกรอบข้อมูล

  • สร้างตัวแปร fig และ axe โดยใช้วิธี subplots โดยค่าเริ่มต้น nrows และ ncols คือ 1

  • ตั้งค่าป้ายกำกับ “จำนวนนักเรียน” โดยใช้เมธอด plt.xlabel()

  • ตั้งค่าป้ายกำกับ “เครื่องหมายที่ได้รับ” โดยใช้วิธี plt.ylabel()

  • ในการสร้างจุดกระจาย ให้ใช้กรอบข้อมูลที่สร้างในขั้นตอนที่ 4 คะแนน ได้แก่ นักเรียน_count เครื่องหมาย และสี

  • หากต้องการแสดงรูป ให้ใช้วิธี plt.show()

ตัวอย่าง

from matplotlib import pyplot as plt
import pandas as pd

no_of_students = [1, 2, 3, 5, 7, 8, 9, 10, 30, 50]
marks_obtained_by_student = [100, 95, 91, 90, 89, 76, 55, 10, 3, 19]
color_coding = ['red', 'blue', 'yellow', 'green', 'red', 'blue', 'yellow', 'green', 'yellow', 'green']

df = pd.DataFrame(dict(students_count=no_of_students,
marks=marks_obtained_by_student, color=color_coding))

fig, ax = plt.subplots()

plt.xlabel('Students count')
plt.ylabel('Obtained marks')

ax.scatter(df['students_count'], df['marks'], c=df['color'])

plt.show()

ผลลัพธ์

การสร้างพล็อตกระจาย matplotlib จาก dataframes ใน pandas ของ Python