วิธีแปลงไฟล์ CSV เป็นกราฟใน Python

การพัฒนาโปรแกรมเมอร์ การพัฒนาทีม การออกแบบเว็บไซต์และเทคโนโลยีการเข้ารหัสที่ทำงานในสำนักงานบริษัทซอฟต์แวร์

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

เครดิตรูปภาพ: ศรินยาพิงค์งาม/iStock/GettyImages

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

การเตรียมพล็อตข้อมูล CSV

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

วีดีโอประจำวันนี้

ขั้นตอนที่ 1: สร้างไฟล์ทดสอบ

ขั้นแรก เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ CSV แบบง่ายสำหรับการทดสอบ ตัวอย่างอาจมีลักษณะดังนี้:

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

ขั้นตอนที่ 2: นำเข้าไลบรารีที่จำเป็น

ตอนนี้คุณพร้อมที่จะนำเข้าไลบรารี python ที่จำเป็นลงในไฟล์โค้ดของคุณด้วยโค้ดบรรทัดนี้:

นำเข้า matplotlib.pyplot เป็น plt นำเข้า csv นำเข้าsys

พล็อตกราฟใน Python จากCSV

เมื่อเตรียมการเสร็จแล้ว ตอนนี้คุณสามารถเริ่มต้นใช้ Python เพื่อวาดกราฟจากไฟล์ CSV ได้แล้ว

ขั้นตอนที่ 1: สร้าง Reader Object

เปิดไฟล์ CSV และสร้างวัตถุตัวอ่านจากไฟล์นั้น ประกาศตัวแปรเพื่อกำหนดขอบเขตบนและล่างสำหรับค่าแกน x และ y ของกราฟ:

csv_reader = csv.reader (เปิด ('test.csv')) bigx = float (-sys.maxint -1) bigy = float (-sys.maxint -1) smallx = float (sys.maxint) smally = float (sys .maxint)

ขั้นตอนที่ 2: วนซ้ำแถว

วนซ้ำในแต่ละแถวที่อยู่ในออบเจ็กต์ตัวอ่านซึ่งจัดเก็บแต่ละแถวเป็นจุดยอดในอาร์เรย์จุดยอด ในวงเดียวกันเปรียบเทียบค่า x และ y เพื่อเก็บขอบเขตบนและล่าง จัดเรียงอาร์เรย์จุดยอดแล้ววนซ้ำอีกครั้ง เวลานี้เก็บค่า x และ y ที่เรียงลำดับในอาร์เรย์ที่แยกจากกัน:

verts = [] สำหรับแถวใน csv_reader: verts.append (row) if float (row[0]) > bigx: bigx = float (row[0]) if float (row[1]) > bigy: bigy = float ( แถว[1]) ถ้าลอย (แถว[0]) < smallx: smallx = float (แถว[0]) if float (row[1]) < smally: smally = float (row[1]) verts.sort() x_arr = [] y_arr = [] สำหรับ vert เป็น verts: x_arr .append (vert[0]) y_arr.append (เวอร์[1])

ขั้นตอนที่ 3: สร้างวัตถุ FigureCanvas

สร้างวัตถุ FigureCanvas โดยใช้วัตถุ pyplot matplotlib ที่นำเข้า เพิ่มแกนของกราฟลงใน FigureCanvas โดยเรียกใช้ฟังก์ชัน add_axes และส่งผ่านอาร์เรย์ของค่าในรูปแบบของ: ซ้าย ด้านล่าง ความกว้าง ความสูง ค่าเหล่านี้กำหนดตำแหน่งที่จะวางกราฟบนผืนผ้าใบ โดยมีค่าตั้งแต่ 0.0 ถึง 1.0:

มะเดื่อ = plt.figure() ขวาน = fig.add_axes([0.1, 0.1, 0.8, 0.8])

ขั้นตอนที่ 4: จัดรูปแบบกราฟ

จัดรูปแบบกราฟเพิ่มป้ายกำกับและกำหนดค่าต่ำสุดและสูงสุดสำหรับแต่ละแกน:

ax.set_xlabel('x data') ax.set_ylabel('y data') ax.set_xlim (smallx, bigx) ax.set_ylim (เล็ก, ใหญ่)

ขั้นตอนที่ 5: พล็อตกราฟ

พล็อตกราฟโดยส่งผ่านในสองอาร์เรย์ที่มีค่า x และ y ที่ดึงมาจากไฟล์ CSV กำหนดโครงร่างเส้นเองโดยส่งค่าทางเลือก เช่น สีของเส้น (สี) หรือความกว้างของเส้น (lw) แสดงกราฟที่เสร็จแล้วโดยเรียกวิธีการแสดงเพื่อเปิดหน้าต่างและจัดเก็บภาพโดยเรียก savefig เพื่อสร้างไฟล์บิตแมปบนดิสก์:

ax.plot (x_arr, y_arr, color='blue', lw=2) plt.show() fig.savefig('test.png')

ข้อควรพิจารณาที่สำคัญสำหรับไฟล์

ในการสร้างไฟล์ที่ล่าม Python สามารถอ่านได้ คุณต้องใช้ตัวแก้ไขข้อความ ascii หรือโค้ดที่สร้างไฟล์เฉพาะข้อความ คุณสามารถจัดเก็บภาพกราฟในรูปแบบภาพต่างๆ มากมาย รวมถึง: png, pdf, ps และ svg

ศึกษาเอกสาร Matplotlib

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

หมวดหมู่

ล่าสุด

วิธีเข้าถึงการตั้งค่าโมเด็ม Comcast Cable

วิธีเข้าถึงการตั้งค่าโมเด็ม Comcast Cable

เปิดการตั้งค่าไปยังเคเบิลโมเด็มของคุณ Comcast ...

วิธีปลดล็อกเคเบิลโมเด็ม

วิธีปลดล็อกเคเบิลโมเด็ม

ปลดล็อกการตั้งค่าเคเบิลโมเด็มของคุณ เมื่อใช้เค...

วิธีรับบริการอินเทอร์เน็ตไร้สายฟรี

วิธีรับบริการอินเทอร์เน็ตไร้สายฟรี

รับบริการอินเทอร์เน็ตไร้สายฟรี การรับอินเทอร์เ...