40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import pandas as pd
|
|
import matplotlib.pyplot as plt
|
|
import numpy as np
|
|
|
|
data = pd.read_csv("sensors_log.csv")
|
|
|
|
data['timestamp'] = pd.to_datetime(data['timestamp'])
|
|
|
|
data.set_index('timestamp', inplace=True)
|
|
|
|
plt.style.use('dark_background')
|
|
|
|
columns_to_plot = {
|
|
'CPU (°C)': 1,
|
|
'Vcore (V)': 0.01,
|
|
'VSOC (V)': 0.01,
|
|
'VDDP (mV)': 5,
|
|
'DRAM (V)': 0.01,
|
|
}
|
|
|
|
for column, threshold in columns_to_plot.items():
|
|
plt.figure(figsize=(12, 6))
|
|
plt.plot(data.index, data[column], label=column, color='cyan', linewidth=2)
|
|
|
|
last_labeled_value = None
|
|
for x, y in zip(data.index, data[column]):
|
|
if last_labeled_value is None or abs(y - last_labeled_value) > threshold:
|
|
plt.text(x, y, f"{y:.2f}", fontsize=9, ha='center', va='bottom', color='white')
|
|
last_labeled_value = y
|
|
|
|
plt.xlabel("Timestamp", fontsize=12, color='white')
|
|
plt.ylabel("Value", fontsize=12, color='white')
|
|
plt.title(f"{column} Over Time", fontsize=14, color='white')
|
|
plt.legend(loc='upper left')
|
|
plt.grid(visible=True, color='gray', linestyle='--', alpha=0.7)
|
|
plt.tight_layout()
|
|
|
|
plt.savefig(f"{column}_graph_no_points_dark.png", dpi=300)
|
|
plt.show()
|