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

การพล็อตค่า Integer เป็น Datetime บนแกน X ด้วย Seaborn

ขั้นตอนการทำงาน

  • กำหนดขนาดรูปภาพและปรับระยะห่างรอบๆ subplots

  • สร้าง DataFrame 3 คอลัมน์ (คอลัมน์ dob เป็น timestamp integer)

  • สร้าง Countplot ด้วย dob (integer) บนแกน X

  • แปลงป้ายแกน X จาก Integer เป็น Datetime string

  • แสดงรูปภาพด้วยเมธอด show()

ตัวอย่างโค้ด

import seaborn as sns
from matplotlib import pyplot as plt
import pandas as pd
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame([
    [23, 'James', 1259969793926],
    [39, 'Jimmy', 1259969793927],
    [56, 'Jack', 1259969793929],
    [60, 'Tom', 1259969793928],
    [80, 'Tim', 1259969793939]
], columns=['marks', 'names', 'dob'])

ax = sns.countplot(x="dob", data=df)

# แปลง xticks จาก milliseconds timestamp เป็น datetime string
ax.set_xticklabels(
    [
        pd.to_datetime(tm, unit='ms').strftime('%Y-%m-%d %H:%M:%S')
        for tm in ax.get_xticks()
    ], rotation=45)

plt.show()

ผลลัพธ์

Countplot ที่แกน X แสดงเป็นวันที่/เวลาที่อ่านง่าย (YYYY-MM-DD HH:MM:SS) แทนที่จะเป็นตัวเลข Timestamp ขนาดใหญ่ หมุนป้าย 45 องศา

เทคนิค: ใช้ pd.to_datetime(tm, unit='ms') แปลง milliseconds timestamp เป็น datetime แล้ว format ด้วย strftime