data_analysis / plot_data.py
ifw-arz's picture
init
8329f26
raw
history blame contribute delete
No virus
4.06 kB
import streamlit as st
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
def plot_filtered(df, time_column, data_column, t1, t2, scatter):
filtered_df = df[(df[time_column] >= t1) & (df[time_column] <= t2)]
fig, ax = plt.subplots(figsize=(8, 5))
mpl.rcParams['font.family'] = 'Arial'
plt.yticks(fontname="Arial", fontsize=14, color="black")
plt.xticks(fontname="Arial", fontsize=14, color = "black")
plt.title(" ",fontname="Arial", fontsize=18, color="black", weight="bold", pad=10)
gridwidth = 1.5
plt.grid(axis="y", linewidth=0.75, color="black")
plt.grid(axis="x", linewidth=0.75, color="black")
rand = ["top", "right", "bottom", "left"]
for i in rand:
plt.gca().spines[i].set_linewidth(gridwidth)
ax.spines[i].set_color('black')
if scatter:
plt.scatter(filtered_df[time_column], filtered_df[data_column], color="#00509b", marker=".", s=15)
else:
plt.plot(filtered_df[time_column], filtered_df[data_column], color="#00509b", linewidth=2)
plt.legend([data_column], fontsize=14)
return fig
def plot_filtered_mehrfach(df, time_column, data_column, data_column2, t1, t2):
filtered_df = df[(df[time_column] >= t1) & (df[time_column] <= t2)]
fig, ax = plt.subplots(figsize=(8, 5))
mpl.rcParams['font.family'] = 'Arial'
plt.yticks(fontname="Arial", fontsize=14, color="black")
plt.xticks(fontname="Arial", fontsize=14, color = "black")
plt.title(" ",fontname="Arial", fontsize=18, color="black", weight="bold", pad=10)
gridwidth = 1.5
plt.grid(axis="y", linewidth=0.75, color="black")
plt.grid(axis="x", linewidth=0.75, color="black")
rand = ["top", "right", "bottom", "left"]
for i in rand:
plt.gca().spines[i].set_linewidth(gridwidth)
ax.spines[i].set_color('black')
plt.plot(filtered_df[time_column], filtered_df[data_column], color="#00509b", linewidth=2)
plt.plot(filtered_df[time_column], filtered_df[data_column2], color="red", linewidth=2)
plt.legend([data_column, data_column2], fontsize=14)
return fig
def plot_data_matplotlib(df, time_column, data_column):
fig, ax = plt.subplots(figsize=(8, 5))
mpl.rcParams['font.family'] = 'Arial'
ax.set_xlabel(time_column, fontname="Arial", fontsize=16, labelpad=7)
ax.set_ylabel(data_column, fontname="Arial", fontsize=16, labelpad=7)
plt.yticks(fontname="Arial", fontsize=14, color="black")
plt.xticks(fontname="Arial", fontsize=14, color = "black")
plt.title(" ",fontname="Arial", fontsize=18, color="black", weight="bold", pad=10)
gridwidth = 1.5
plt.grid(axis="y", linewidth=0.75, color="black")
plt.grid(axis="x", linewidth=0.75, color="black")
rand = ["top", "right", "bottom", "left"]
for i in rand:
plt.gca().spines[i].set_linewidth(gridwidth)
ax.spines[i].set_color('black')
plt.plot(df[time_column], df[data_column], color="#00509b", linewidth=2)
return fig
def plot_data_zeitfaktor(df, time_column, data_column, scatter):
fig, ax = plt.subplots(figsize=(8, 5))
mpl.rcParams['font.family'] = 'Arial'
ax.set_xlabel(time_column, fontname="Arial", fontsize=16, labelpad=7)
ax.set_ylabel(data_column, fontname="Arial", fontsize=16, labelpad=7)
plt.yticks(fontname="Arial", fontsize=14, color="black")
plt.xticks(fontname="Arial", fontsize=14, color = "black")
plt.title(" ",fontname="Arial", fontsize=18, color="black", weight="bold", pad=10)
gridwidth = 1.5
plt.grid(axis="y", linewidth=0.75, color="black")
plt.grid(axis="x", linewidth=0.75, color="black")
rand = ["top", "right", "bottom", "left"]
for i in rand:
plt.gca().spines[i].set_linewidth(gridwidth)
ax.spines[i].set_color('black')
if scatter:
plt.scatter(df[time_column], df[data_column], color="#00509b", marker=".", s=5)
else:
plt.plot(df[time_column], df[data_column], color="#00509b", linewidth=2)
return fig