File size: 3,134 Bytes
2f3c093 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
class DataVisualization:
def __init__(self):
sns.set(style="whitegrid")
def plot_device_information(self, device_data):
df = pd.DataFrame(device_data)
plt.figure(figsize=(10, 6))
sns.barplot(x="device_type", y="count", data=df)
plt.title("Device Information")
plt.xlabel("Device Type")
plt.ylabel("Count")
plt.show()
def plot_network_traffic(self, traffic_data):
df = pd.DataFrame(traffic_data)
plt.figure(figsize=(10, 6))
sns.lineplot(x="timestamp", y="traffic", hue="protocol", data=df)
plt.title("Network Traffic")
plt.xlabel("Timestamp")
plt.ylabel("Traffic")
plt.show()
def plot_system_logs(self, log_data):
df = pd.DataFrame(log_data)
plt.figure(figsize=(10, 6))
sns.heatmap(df.corr(), annot=True, cmap="coolwarm")
plt.title("System Logs Correlation")
plt.show()
def plot_threat_detection(self, threat_data):
df = pd.DataFrame(threat_data)
plt.figure(figsize=(10, 6))
sns.scatterplot(x="timestamp", y="severity", hue="threat_type", data=df)
plt.title("Threat Detection")
plt.xlabel("Timestamp")
plt.ylabel("Severity")
plt.show()
def plot_defcon_level(self, defcon_data):
df = pd.DataFrame(defcon_data)
plt.figure(figsize=(10, 6))
sns.lineplot(x="timestamp", y="defcon_level", data=df)
plt.title("Defcon Level Status")
plt.xlabel("Timestamp")
plt.ylabel("Defcon Level")
plt.show()
def integrate_with_new_components(self, new_component_data):
integrated_data = {
"new_component_device_data": new_component_data.get("device_data", {}),
"new_component_traffic_data": new_component_data.get("traffic_data", {}),
"new_component_log_data": new_component_data.get("log_data", {}),
"new_component_threat_data": new_component_data.get("threat_data", {}),
"new_component_defcon_data": new_component_data.get("defcon_data", {})
}
return integrated_data
def ensure_compatibility(self, existing_data, new_component_data):
compatible_data = {
"existing_device_data": existing_data.get("device_data", {}),
"existing_traffic_data": existing_data.get("traffic_data", {}),
"existing_log_data": existing_data.get("log_data", {}),
"existing_threat_data": existing_data.get("threat_data", {}),
"existing_defcon_data": existing_data.get("defcon_data", {}),
"new_component_device_data": new_component_data.get("device_data", {}),
"new_component_traffic_data": new_component_data.get("traffic_data", {}),
"new_component_log_data": new_component_data.get("log_data", {}),
"new_component_threat_data": new_component_data.get("threat_data", {}),
"new_component_defcon_data": new_component_data.get("defcon_data", {})
}
return compatible_data
|