Seaborn में X-अक्ष पर पूर्णांक (टाइमस्टैम्प) को डेटाइम लेबल में बदलने के लिए pd.to_datetime() और strftime() का उपयोग करें।
चरण
- फिगर आकार सेट करें और पैडिंग समायोजित करें
- तीन कॉलम वाला DataFrame बनाएं (डेट कॉलम मिलीसेकंड में)
dob(इंट) को X-अक्ष पर रखकर काउंटप्लॉट बनाएं- X-अक्ष पर इंट को डेटाइम लेबल में बदलें
plt.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
# 3 कॉलम वाला डेटा फ्रेम (dob मिलीसेकंड में)
df = pd.DataFrame([
[23, 'James', 1259969793926],
[39, 'Jimmy', 1259969793927],
[56, 'Jack', 1259969793929],
[60, 'Tom', 1259969793928],
[80, 'Tim', 1259969793939]
], columns=['marks', 'names', 'dob'])
# dob (इंट) पर काउंटप्लॉट
ax = sns.countplot(x="dob", data=df)
# X-टिक्स को डेटाइम स्ट्रिंग में बदलें
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()
आउटपुट
काउंटप्लॉट जहां X-अक्ष मिलीसेकंड टाइमस्टैम्प के बजाय पठनीय डेट-टाइम स्ट्रिंग्स (जैसे 2009-12-05 12:36:33) दिखाता है, 45 डिग्री घुमाए गए।
व्याख्या
ax.get_xticks()वर्तमान टिक स्थान प्राप्त करता है (जो dob मान हैं)pd.to_datetime(tm, unit='ms')मिलीसेकंड को datetime में बदलता है.strftime('%Y-%m-%d %H:%M:%S')मनचाहा फॉर्मेट में स्ट्रिंग बनाता हैrotation=45लेबल को पठनीय बनाता है
सामान्य टाइमस्टैम्प यूनिट्स
| यूनिट | विवरण | उदाहरण |
|---|---|---|
's' | सेकंड (यूनिक्स टाइम) | 1609459200 |
'ms' | मिलीसेकंड | 1609459200000 |
'us' | माइक्रोसेकंड | 1609459200000000 |
'ns' | नैनोसेकंड | 1609459200000000000 |
बेहतर विकल्प: डेटा में ही कनवर्ट करें
# प्लॉटिंग से पहले कनवर्ट करें
df['dob_dt'] = pd.to_datetime(df['dob'], unit='ms')
ax = sns.countplot(x="dob_dt", data=df)
# Seaborn/Pandas स्वचालित रूप से डेटाइम फॉर्मेटिंग करेगा