{ "cells": [ { "cell_type": "code", "execution_count": 2, "id": "6b2c6dad-a9b0-4463-a129-7b991d51487d", "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 47, "id": "165ff3f2-fd3c-48ce-ad93-af237909d8d3", "metadata": {}, "outputs": [], "source": [ "import os\n", "from pathlib import Path\n", "\n", "from sentence_transformers import SentenceTransformer\n", "\n", "from lang_main import (\n", " save_pickle,\n", " load_pickle,\n", " SAVE_PATH_FOLDER,\n", ")" ] }, { "cell_type": "code", "execution_count": 48, "id": "1013213d-d651-4ec7-a8ac-321c83b2a344", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n", " warnings.warn(\n" ] } ], "source": [ "model_stfr = SentenceTransformer('sentence-transformers/all-mpnet-base-v2')" ] }, { "cell_type": "code", "execution_count": 49, "id": "d2c78879-ba2c-4b36-9fa2-6a9a138f04fc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "WindowsPath('A:/Arbeitsaufgaben/lang-main/test-notebooks/results/test_new2')" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = Path(os.getcwd()) / SAVE_PATH_FOLDER\n", "p" ] }, { "cell_type": "code", "execution_count": 50, "id": "b9e65423-bc49-49d5-8bd0-875fcb014f7e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[WindowsPath('A:/Arbeitsaufgaben/lang-main/test-notebooks/results/test_new2/Pipe-TargetFeature_Step-3_remove_NA.pickle'),\n", " WindowsPath('A:/Arbeitsaufgaben/lang-main/test-notebooks/results/test_new2/map_candidates.pkl'),\n", " WindowsPath('A:/Arbeitsaufgaben/lang-main/test-notebooks/results/test_new2/map_texts.pkl'),\n", " WindowsPath('A:/Arbeitsaufgaben/lang-main/test-notebooks/results/test_new2/data.pkl')]" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "folder = list(p.glob(r'*'))\n", "folder" ] }, { "cell_type": "markdown", "id": "c0679937-d669-4eaa-aec6-85d12edc4a0a", "metadata": {}, "source": [ "---\n", "\n", "# Gather timeline candidates" ] }, { "cell_type": "code", "execution_count": 51, "id": "e4abc1cc-e69d-43a3-b328-2ef3f08a9c90", "metadata": {}, "outputs": [], "source": [ "from lang_main.analysis.timeline import (\n", " remove_non_relevant_obj_ids,\n", " filter_activities_per_obj_id,\n", " generate_model_input,\n", " get_timeline_candidates_index,\n", " transform_timeline_candidates,\n", " map_obj_texts,\n", ")" ] }, { "cell_type": "code", "execution_count": 52, "id": "369838fc-3e77-4a9a-ac1f-e71a380e0353", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "shared:INFO | 2024-05-22 13:45:11 +0000 | Loaded file successfully.\n", "len(data)=123457\n", "timeline:INFO | 2024-05-22 13:45:11 +0000 | Removing non-relevant ObjectIDs from dataset\n", "timeline:DEBUG | 2024-05-22 13:45:12 +0000 | Ignored ObjectIDs: (0,)\n", "timeline:INFO | 2024-05-22 13:45:12 +0000 | Non-relevant ObjectIDs removed successfully\n", "\n", "Index: 122958 entries, 0 to 123456\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 VorgangsID 122958 non-null int64 \n", " 1 ObjektID 122958 non-null int64 \n", " 2 HObjektText 122953 non-null object \n", " 3 ObjektArtID 122958 non-null int64 \n", " 4 ObjektArtText 122880 non-null object \n", " 5 VorgangsTypID 122958 non-null int64 \n", " 6 VorgangsTypName 122958 non-null object \n", " 7 VorgangsDatum 122958 non-null datetime64[ns]\n", " 8 VorgangsStatusId 122958 non-null int64 \n", " 9 VorgangsPrioritaet 122958 non-null int64 \n", " 10 VorgangsBeschreibung 122958 non-null object \n", " 11 VorgangsOrt 0 non-null object \n", " 12 VorgangsArtText 122958 non-null object \n", " 13 ErledigungsDatum 122958 non-null datetime64[ns]\n", " 14 ErledigungsArtText 122465 non-null object \n", " 15 ErledigungsBeschreibung 115562 non-null object \n", " 16 MPMelderArbeitsplatz 5709 non-null object \n", " 17 MPAbteilungBezeichnung 5709 non-null object \n", " 18 Arbeitsbeginn 119459 non-null datetime64[ns]\n", " 19 ErstellungsDatum 122958 non-null datetime64[ns]\n", "dtypes: datetime64[ns](4), int64(6), object(10)\n", "memory usage: 19.7+ MB\n" ] } ], "source": [ "ret = load_pickle(folder[0])\n", "data = ret[0]\n", "print(f\"{len(data)=}\")\n", "data = remove_non_relevant_obj_ids(data, thresh_unique_feat_per_id=3)\n", "data.info()" ] }, { "cell_type": "code", "execution_count": null, "id": "0afe2888-ff74-4be8-b7e6-374546942070", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "3d22728c-2fd9-4742-a4be-61909f14cfd7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 53, "id": "79973397-4df2-43ca-9f40-182644592337", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['Reparaturauftrag (Portal)', 'Wartung', 'Störungsmeldung'],\n", " dtype=object)" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['VorgangsTypName'].unique()" ] }, { "cell_type": "code", "execution_count": 54, "id": "b10fbf48-9e1a-4d2b-9b41-b6711b366a34", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "timeline:INFO | 2024-05-22 13:45:12 +0000 | Filtering activities per ObjectID\n", "timeline:INFO | 2024-05-22 13:45:12 +0000 | Activities per ObjectID filtered successfully\n" ] }, { "data": { "text/plain": [ "ObjektID\n", "1 283\n", "1654 243\n", "7 223\n", "151 189\n", "140 140\n", " ... \n", "1698 2\n", "683 2\n", "1135 2\n", "2170 2\n", "297 2\n", "Name: count, Length: 366, dtype: int64" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "activity_types = [\n", " 'Reparaturauftrag (Portal)',\n", " 'Störungsmeldung',\n", "]\n", "\n", "(data, num_activities_per_obj_id) =\\\n", "filter_activities_per_obj_id(data, relevant_activity_types=activity_types)\n", "num_activities_per_obj_id" ] }, { "cell_type": "code", "execution_count": 55, "id": "39207835-e7b2-43c8-b6a6-8d685ac488a6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 6104 entries, 0 to 123456\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 VorgangsID 6104 non-null int64 \n", " 1 ObjektID 6104 non-null int64 \n", " 2 HObjektText 6103 non-null object \n", " 3 ObjektArtID 6104 non-null int64 \n", " 4 ObjektArtText 6087 non-null object \n", " 5 VorgangsTypID 6104 non-null int64 \n", " 6 VorgangsTypName 6104 non-null object \n", " 7 VorgangsDatum 6104 non-null datetime64[ns]\n", " 8 VorgangsStatusId 6104 non-null int64 \n", " 9 VorgangsPrioritaet 6104 non-null int64 \n", " 10 VorgangsBeschreibung 6104 non-null object \n", " 11 VorgangsOrt 0 non-null object \n", " 12 VorgangsArtText 6104 non-null object \n", " 13 ErledigungsDatum 6104 non-null datetime64[ns]\n", " 14 ErledigungsArtText 6079 non-null object \n", " 15 ErledigungsBeschreibung 5812 non-null object \n", " 16 MPMelderArbeitsplatz 5672 non-null object \n", " 17 MPAbteilungBezeichnung 5672 non-null object \n", " 18 Arbeitsbeginn 5915 non-null datetime64[ns]\n", " 19 ErstellungsDatum 6104 non-null datetime64[ns]\n", "dtypes: datetime64[ns](4), int64(6), object(10)\n", "memory usage: 1001.4+ KB\n" ] } ], "source": [ "data.info()" ] }, { "cell_type": "code", "execution_count": 56, "id": "b848d8ee-cdf3-4b92-ac5b-e5a74e562e92", "metadata": {}, "outputs": [], "source": [ "# VorgangsTypName, VorgangsArtText, VorgangsBeschreibung\n", "prop_interest = ['VorgangsTypName', 'VorgangsArtText', 'VorgangsBeschreibung']\n", "prop_interest = ['VorgangsArtText', 'VorgangsBeschreibung']\n", "prop_interest = ['VorgangsBeschreibung']\n", "\n", "target_feature_name = 'nlp_model_input'" ] }, { "cell_type": "code", "execution_count": 57, "id": "8d981bee-2fc9-4ea4-88a5-5589b1d76684", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "timeline:INFO | 2024-05-22 13:45:13 +0000 | Generating concatenation of model input features\n", "timeline:INFO | 2024-05-22 13:45:13 +0000 | Model input generated successfully\n" ] } ], "source": [ "anlys_data = generate_model_input(data, target_feature_name, model_input_features=prop_interest)" ] }, { "cell_type": "code", "execution_count": 58, "id": "616dc58f-f7d7-4787-b662-3900c66c3b64", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 6104 entries, 0 to 123456\n", "Data columns (total 21 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 VorgangsID 6104 non-null int64 \n", " 1 ObjektID 6104 non-null int64 \n", " 2 HObjektText 6103 non-null object \n", " 3 ObjektArtID 6104 non-null int64 \n", " 4 ObjektArtText 6087 non-null object \n", " 5 VorgangsTypID 6104 non-null int64 \n", " 6 VorgangsTypName 6104 non-null object \n", " 7 VorgangsDatum 6104 non-null datetime64[ns]\n", " 8 VorgangsStatusId 6104 non-null int64 \n", " 9 VorgangsPrioritaet 6104 non-null int64 \n", " 10 VorgangsBeschreibung 6104 non-null object \n", " 11 VorgangsOrt 0 non-null object \n", " 12 VorgangsArtText 6104 non-null object \n", " 13 ErledigungsDatum 6104 non-null datetime64[ns]\n", " 14 ErledigungsArtText 6079 non-null object \n", " 15 ErledigungsBeschreibung 5812 non-null object \n", " 16 MPMelderArbeitsplatz 5672 non-null object \n", " 17 MPAbteilungBezeichnung 5672 non-null object \n", " 18 Arbeitsbeginn 5915 non-null datetime64[ns]\n", " 19 ErstellungsDatum 6104 non-null datetime64[ns]\n", " 20 nlp_model_input 6104 non-null object \n", "dtypes: datetime64[ns](4), int64(6), object(11)\n", "memory usage: 1.0+ MB\n" ] } ], "source": [ "anlys_data.info()" ] }, { "cell_type": "code", "execution_count": 59, "id": "5e147157-5710-440e-a787-5f6a6d66bc76", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
VorgangsIDObjektIDHObjektTextObjektArtIDObjektArtTextVorgangsTypIDVorgangsTypNameVorgangsDatumVorgangsStatusIdVorgangsPrioritaet...VorgangsOrtVorgangsArtTextErledigungsDatumErledigungsArtTextErledigungsBeschreibungMPMelderArbeitsplatzMPAbteilungBezeichnungArbeitsbeginnErstellungsDatumnlp_model_input
52136262888315NaN32Flurförderzeuge / Putzmaschine / Rasenmäher3Reparaturauftrag (Portal)2022-07-1150...NaNFlurförderzeug2022-07-12Intern UTT - WartungRäder gereinigtVersandVersand2022-07-122022-07-11Laufrollen verstopft (Garn)
\n", "

1 rows × 21 columns

\n", "
" ], "text/plain": [ " VorgangsID ObjektID HObjektText ObjektArtID \\\n", "52136 262888 315 NaN 32 \n", "\n", " ObjektArtText VorgangsTypID \\\n", "52136 Flurförderzeuge / Putzmaschine / Rasenmäher 3 \n", "\n", " VorgangsTypName VorgangsDatum VorgangsStatusId \\\n", "52136 Reparaturauftrag (Portal) 2022-07-11 5 \n", "\n", " VorgangsPrioritaet ... VorgangsOrt VorgangsArtText ErledigungsDatum \\\n", "52136 0 ... NaN Flurförderzeug 2022-07-12 \n", "\n", " ErledigungsArtText ErledigungsBeschreibung MPMelderArbeitsplatz \\\n", "52136 Intern UTT - Wartung Räder gereinigt Versand \n", "\n", " MPAbteilungBezeichnung Arbeitsbeginn ErstellungsDatum \\\n", "52136 Versand 2022-07-12 2022-07-11 \n", "\n", " nlp_model_input \n", "52136 Laufrollen verstopft (Garn) \n", "\n", "[1 rows x 21 columns]" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "anlys_data.loc[anlys_data['HObjektText'].isna()]" ] }, { "cell_type": "code", "execution_count": null, "id": "ce40cc45-a2bc-4d84-9688-a4cf2797eecf", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "3141fb4b-b861-41fe-a887-fe3a9dbbab9c", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 60, "id": "a08d8f39-d814-4583-b77c-51e660cba6ec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ObjektID\n", "1 283\n", "1654 243\n", "Name: count, dtype: int64" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test = num_activities_per_obj_id.iloc[300:302].copy()\n", "test = num_activities_per_obj_id.iloc[:2].copy()\n", "test" ] }, { "cell_type": "code", "execution_count": 61, "id": "03b9ef0f-0fc9-4e16-bd1c-0774c8c295e8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "366" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test = num_activities_per_obj_id.copy()\n", "len(test)" ] }, { "cell_type": "code", "execution_count": 62, "id": "133ad574-7f55-421f-927b-969d26a80ffc", "metadata": {}, "outputs": [], "source": [ "tl_candidates = get_timeline_candidates_index(\n", " data=anlys_data,\n", " num_activities_per_obj_id=test,\n", " model=model_stfr,\n", " cos_sim_threshold=0.8,\n", " model_input_feature=target_feature_name,\n", ")" ] }, { "cell_type": "markdown", "id": "26085123-1336-4e7f-8b90-68b7c5cb6711", "metadata": { "collapsed": true, "jupyter": { "outputs_hidden": true } }, "source": [ "for (obj_id, cands) in tl_candidates:\n", " print(f'{obj_id=}, {cands=}', flush=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "14e2d02b-e24b-4a29-b410-17ef7a0d503d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 63, "id": "e690e6ff-92a5-48a8-b721-cf78dfe25ab7", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ec2ac9d40ab545d5b6d27b339eeac98e", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/366 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
VorgangsIDObjektIDHObjektTextObjektArtIDObjektArtTextVorgangsTypIDVorgangsTypNameVorgangsDatumVorgangsStatusIdVorgangsPrioritaet...VorgangsOrtVorgangsArtTextErledigungsDatumErledigungsArtTextErledigungsBeschreibungMPMelderArbeitsplatzMPAbteilungBezeichnungArbeitsbeginnErstellungsDatumnlp_model_input
66961442391654WEBEREI ALLGEMEIN, Weberei allgemein,90UTT allgemein3Reparaturauftrag (Portal)2021-11-0750...NaNVerkabelung / Verdrahtung2021-11-08Intern UTT - ReparaturKnotex Netzkabel wurde getauscht. Maschine läu...WebereiWeberei2021-11-082021-11-07Knotex Netzkabel hat einen Wackelkontakt. Kabe...
502235087081654WEBEREI ALLGEMEIN, Weberei allgemein,90UTT allgemein3Reparaturauftrag (Portal)2023-01-2350...NaNVerkabelung / Verdrahtung2023-01-23Intern UTT - ReparaturKabel an Stecker ab, gekürzt alles OK.WebereiWeberei2023-01-232023-01-23Knotex Netzkabel hat Wackelkontakt.\\nHerr Bric...
1136201416061654WEBEREI ALLGEMEIN, Weberei allgemein,90UTT allgemein3Reparaturauftrag (Portal)2021-10-0650...NaNVerkabelung / Verdrahtung2021-10-06Intern UTT - ReparaturKabel repariert (beide Seiten Wackelkontakt). ...WebereiWeberei2021-10-062021-10-06Knotex Netzkabel hat Wackelkontakt. Kabel lieg...
\n", "

3 rows × 21 columns

\n", "" ], "text/plain": [ " VorgangsID ObjektID HObjektText \\\n", "6696 144239 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n", "50223 508708 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n", "113620 141606 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n", "\n", " ObjektArtID ObjektArtText VorgangsTypID VorgangsTypName \\\n", "6696 90 UTT allgemein 3 Reparaturauftrag (Portal) \n", "50223 90 UTT allgemein 3 Reparaturauftrag (Portal) \n", "113620 90 UTT allgemein 3 Reparaturauftrag (Portal) \n", "\n", " VorgangsDatum VorgangsStatusId VorgangsPrioritaet ... VorgangsOrt \\\n", "6696 2021-11-07 5 0 ... NaN \n", "50223 2023-01-23 5 0 ... NaN \n", "113620 2021-10-06 5 0 ... NaN \n", "\n", " VorgangsArtText ErledigungsDatum ErledigungsArtText \\\n", "6696 Verkabelung / Verdrahtung 2021-11-08 Intern UTT - Reparatur \n", "50223 Verkabelung / Verdrahtung 2023-01-23 Intern UTT - Reparatur \n", "113620 Verkabelung / Verdrahtung 2021-10-06 Intern UTT - Reparatur \n", "\n", " ErledigungsBeschreibung \\\n", "6696 Knotex Netzkabel wurde getauscht. Maschine läu... \n", "50223 Kabel an Stecker ab, gekürzt alles OK. \n", "113620 Kabel repariert (beide Seiten Wackelkontakt). ... \n", "\n", " MPMelderArbeitsplatz MPAbteilungBezeichnung Arbeitsbeginn \\\n", "6696 Weberei Weberei 2021-11-08 \n", "50223 Weberei Weberei 2023-01-23 \n", "113620 Weberei Weberei 2021-10-06 \n", "\n", " ErstellungsDatum nlp_model_input \n", "6696 2021-11-07 Knotex Netzkabel hat einen Wackelkontakt. Kabe... \n", "50223 2023-01-23 Knotex Netzkabel hat Wackelkontakt.\\nHerr Bric... \n", "113620 2021-10-06 Knotex Netzkabel hat Wackelkontakt. Kabel lieg... \n", "\n", "[3 rows x 21 columns]" ] }, "execution_count": 229, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res = anlys_data.loc[cands].sort_index()\n", "res" ] }, { "cell_type": "code", "execution_count": 153, "id": "3801daba-6927-44c4-ba22-f0033411372a", "metadata": {}, "outputs": [], "source": [ "import plotly.express as px\n", "import plotly.io as pio" ] }, { "cell_type": "code", "execution_count": 267, "id": "cbc277b4-f77f-4e52-9d3d-845a8dab6169", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "customdata": [ [ "Knotex Netzkabel hat einen Wackelkontakt. Kabel liegt in der Elektrowerkstatt." ], [ "Knotex Netzkabel hat Wackelkontakt.\nHerr Brich weiß bescheid" ], [ "Knotex Netzkabel hat Wackelkontakt. Kabel liegt in der Elektrowerkstatt auf der Werkbank." ] ], "hovertemplate": "ErstellungsDatum=%{x|%d.%m.%Y}
ObjektID=%{y}
VorgangsBeschreibung=%{customdata[0]}", "legendgroup": "", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "color": "yellow", "line": { "color": "red", "width": 2 }, "size": 12, "symbol": "diamond" }, "mode": "markers+lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ "2021-11-07T00:00:00", "2023-01-23T00:00:00", "2021-10-06T00:00:00" ], "xaxis": "x", "y": [ 1654, 1654, 1654 ], "yaxis": "y" } ], "layout": { "autosize": true, "hovermode": "x unified", "legend": { "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "HObjektText: WEBEREI ALLGEMEIN, Weberei allgemein" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ "2021-09-06 06:40:56.8194", "2023-02-21 17:19:03.1806" ], "rangeslider": { "autorange": true, "range": [ "2021-09-06 06:40:56.8194", "2023-02-21 17:19:03.1806" ], "visible": true, "yaxis": { "_template": null, "rangemode": "match" } }, "tickformat": "%B\n%Y", "title": { "text": "ErstellungsDatum" }, "type": "date" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -1, 1 ], "title": { "text": "ObjektID" }, "type": "category" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAABcAAAAFoCAYAAABws1hyAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3Xu8ZWV9H/7vICCjXOQSLpMqCiZBGyuJVUkaKVVJFCQqBsTSRsVMppDEihTKmFpjrA4veCE2ieBkImJ+tSAmeCEglmioMQ2RoiQkQlMhXhoEBEYuMgjC/Fx7WMd11uzrWXvv9axnv88/ypy91vo+7++zL+ezn/3sVVu3bt0afggQIECAAAECBAgQIECAAAECBAgQIECAQGYCqwTgmXXUcAgQIECAAAECBAgQIECAAAECBAgQIECgJyAANxEIECBAgAABAgQIECBAgAABAgQIECBAIEsBAXiWbTUoAgQIECBAgAABAgQIECBAgAABAgQIEBCAmwMECBAgQIAAAQIECBAgQIAAAQIECBAgkKWAADzLthoUAQIECBAgQIAAAQIECBAgQIAAAQIECAjAzQECBAgQIECAAAECBAgQIECAAAECBAgQyFJAAJ5lWw2KAAECBAgQIECAAAECBAgQIECAAAECBATg5gABAgQIECBAgAABAgQIECBAgAABAgQIZCkgAM+yrQZFgAABAgQIECBAgAABAgQIECBAgAABAgJwc4AAAQIECBAgQIAAAQIECBAgQIAAAQIEshQQgGfZVoMiQIAAAQIECBAgQIAAAQIECBAgQIAAAQG4OUCAAAECBAgQIECAAAECBAgQIECAAAECWQoIwLNsq0ERIECAAAECBAgQIECAAAECBAgQIECAgADcHCBAgAABAgQIECBAgAABAgQIECBAgACBLAUE4Fm21aAIECBAgAABAgQIECBAgAABAgQIECBAQABuDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAlgIC8CzbalAECBAgQIAAAQIECBAgQIAAAQIECBAgIAA3BwgQIECAAAECBAgQIECAAAECBAgQIEAgSwEBeJZtNSgCBAgQIECAAAECBAgQIECAAAECBAgQEICbAwQIECBAgAABAgQIECBAgAABAgQIECCQpYAAPMu2GhQBAgQIECBAgAABAgQIECBAgAABAgQICMDNAQIECBAgQIAAAQIECBAgQIAAAQIECBDIUkAAnmVbDYoAAQIECBAgQIAAAQIECBAgQIAAAQIEBODmAAECBAgQIECAAAECBAgQIECAAAECBAhkKSAAz7KtBkWAAAECBAgQIECAAAECBAgQIECAAAECAnBzgAABAgQIECBAgAABAgQIECBAgAABAgSyFBCAZ9lWgyJAgAABAgQIECBAgAABAgQIECBAgAABAbg5QIAAAQIECBAgQIAAAQIECBAgQIAAAQJZCgjAs2yrQREgQIAAAQIECBAgQIAAAQIECBAgQICAANwcIECAAAECBAgQIECAAAECBAgQIECAAIEsBQTgWbbVoAgQIECAAAECBAgQIECAAAECBAgQIEBAAG4OECBAgAABAgQIECBAgAABAgQIECBAgECWAgLwLNtqUAQIECBAgAABAgQIECBAgAABAgQIECAgADcHCBAgQIAAAQIECBAgQIAAAQIECBAgQCBLAQF4lm01KAIECBAgQIAAAQIECBAgQIAAAQIECBAQgJsDBAgQIECAAAECBAgQIECAAAECBAgQIJClgAA8wba+d+Ol8cUbbo4Lzjo19txjt5lVuPne++PkM8+L4485Io496vCZXceJCRAg0E+gfAx6waGHxFvXHZ81Ur+xXnbl5+P8D38yNp59Whx84Jqsx29wBAgQIECAAAECBAgQIECgLQEB+JjyWx56ON5xzoW9W7/z9JNi9S47LztyVJBThNofvPjKZce86XVH9Q19JgnAy+s+bc2+fesaNrxxA/B+Yyv/7cabbh0p+K4zTppqwD7N0GhYX2/5+m2x7oxz46gXv3C7Pl13w83xhrecFRe978x4/qGHRPnfgzCOfslhS/0p6n/72dvmUv2nblXWd8Vnrx3oXNYwrCf9ejBuzQ9973u9N0qqva6OZ+QEiIhyzAfst3ffsG/U/au8Rt191LXLHn7rjruX3bRe/0qdB83tcrzPedZBS29kTXKNfnOk7HP1PNXzlwMc9349zG7QY9Cwx5vS+pTXv3Ls+/uox81R/Z3V75s8rg6qaREC8GGPmbPqlfMSIECAAAECBAgQIECAAIFRAgLwUUKP/35UQDcoyCkDgX322mPZiu7y9nfdc+92gWAXAvB+bEVod+nl18x85fo0A/BiHIPO1y/ELMdd79Ekweyg65XnqIaqo+ZdtQ+D5mB53vobLpPUXDoVwX0ZxI5514lyDN/4xzvirs33Rb+AdNxxjltzNSSu11t9o6AeKhdj6vcGVz/n4g2BYQF0/ffjjrEeZNff3KoH6fUQfhoB+CDn8t/7vZGxkvulADyvFeAC8HEfFd2OAAECBAgQIECAAAECBOYpIAAfU3tUeNUvyFkK/m67s28oPOj3kwTgY5bf92bjBmXjhlRdDcAHrVzt9eHLN/VC2w3r1/ZWehc/Zd/233evpZXh4wazwwL3fqtOR827cQLw4jbFWK783F8te7NlkpqbBOCl738+9ZfjT67+y17J9ZB53HGOU/Oo+11pVszXp67Zt9fXca9fHFvt0zduu3O7LYTK+0ERXBe/L7cymuQa9etUvarn2XXXJ8Xnr/3rZX0d93497LFj0H2+N7ZP/VnfNzKKOXb7nfeMfANh3Dnb5LEtxWMXYQV4iu5qIkCAAAECBAgQIECAAAECAvAx58Co8KpfuDFOWNfvNmUA/p71a+NtGzYtbT1R3bahvgq033Yq9W0U6ts+DArKyuOK27/lV4+Lt/7W+5dtf1GQ9dsCY1gA3m97jurK3Oo1+4V9X/rb/9sL+f76777ad/uQ6rnK7WbGXak8bIuXYrVyEdoe9rxnL23r0C8wH6fX1eC1376/w95E6Rca16fusDcq2gzAq2/o/NlffLnvnsej7l/lWMdx7reSftTdfNzrV4PpYt/q4qe6X395nmK+fO2bt/f93Ti9HDcAP/VXj4tTf+v9Ud1DexoBeD+P+tiKGst9u0d9+qD0r6+Yrx73ohf+s962QuVPv+1l+m0jU79d9f5ZvMFRnrP6GFnf/mdYXaP2Jh+09VD9MXmSALy+dU+x4n6fPXePp/3oftu9wTDuWIrveih+qtsvlXb1LbqmYV9+r8Q4z2ej7p9+T4AAAQIECBAgQIAAAQIEmggIwMfUGxWQ9Qs3+oWO9cv1+8h4GUb02z+4Hp5NsvK8vrK8X1BWBtHVAKTpCvB+gWS/ELnftfsZjtpqYdIAvDCt2xT1/eaGTfHu9Wvjk1d9YdnK1mI86zdsWvFq6mFbrtSD8VHzrjqfBvVp0DnGCZOr5y/7M+4bC9UQtwxoB622H3ec49Q8zv2ufj8c9/r1Mb3yZT/X2ye+/IRAUd+5Gy/trfr+0CWfnnkAXrxZ9OnPXbvsTYVpBODFOOvztDzvaeuOj2/eduey7Y7KvlY/KTHOfbcaHlcD437zpN9jZb85Xw2P+70xOEld43w5Z1HDht/5SKx/84lLX1o87E216jn7PRZMshXSJGMptuSpPq5X3yCt/3v9cWhS++o2R/2ez8Z9Thnz6dnNCBAgQIAAAQIECBAgQIDAUAEB+JgTZJwvsCtOVQ1cxtnKpN+2F4OO6xf+DVp5Xg9oi9rqoVI9KBsUcI4bVvRbAd5vu5CSvN84q+F1cbvqF02Wx40KwMds6bKb1UPt4hrXXv+V3mrLv7351qVQc889dtsuLC9ONO4XShZfnjrsSzDrK1HHmXf1L8Gsh3aD+jpJzWUgOuke4MM+4VBuDVKce9wAetwAvLoqe5z50MS53PqjCECLILT8tEB9fk9yjWrQPmgP8OI2xfwsv6S07Pu0AvB6qF0N9+/5zv1LbxAdfOCa7cLyfoF4/c2DYmX1qE8tVPs4aIuV+uPBsC/jnEZd48yn8v5S/U6EcVaAj3q8rG4xM+lYihXg5arsai/G+fcm9oOez+a1Zda4/XI7AgQIECBAgAABAgQIEMhXQAA+Zm9HBXSDVoCPCuImCcD7BTuDrttvL956uFINygqGQeFmkwB8UEhThsb1oL4eEvb7KP4sAvC6bRHaPP2p+/cCo+oYfvKQg+Id51wY1f2/qwH4OKujh9VfX70+at5Vp++4WzGUx4wTJlfPv5IV4P3Cr37XHXec49Q8KHCrb/NQjK3Jl2DWV7Uf9eIXLttnfVAAXgbXxZshw376PTYUt+9nVZ1Tez1ltzj5zPO225t8zIe6pZvV7/fFNYptXarBdRme1gPSYeFm9bb18L4+38qVyMPGVH+MGRaAT6OuQY795lf1Da1xAvBhtTc1Hifo7heMD3tDZRz7YQF4v62gJp2nbk+AAAECBAgQIECAAAECBEYJCMBHCT3++1EB3bS3QOkXnPcLIurXHWeVablKvR6Y1lcflzRNAvBRq4yLvW2Lvb2LVaT169VXvpa/n0UAXn1z4I0nvLwXIBZbPVS/ILFY2fvcf/rMZVtelDWNE8yOU/+gfhbH1r84sj51B83BD1585VLQWz1mkpqL4yYNwAcF8mUN1U9LjLp/TeI8zhYo9bGMe/1qQFhdaV+Gn8M+ATLJNarXGbUCvAjSq+cu9wWvB55jPtQtu9mg1e3FjYrfFT/l/aV6vX5hcPXE5XcIDAvAq5/KKI4ttpr51h13DxxG+WbGqBC5uD8M+hmnrvqx5fX22WuPZV92XA/bxwnAh90n6wH4pMYrDcDr+5H3sxtmLwBfyT3PMQQIECBAgAABAgQIECAwTQEB+Jiao8KrQVuR9NvCo3rJcbeIKI5pugK8PtSy5uLfyy/cLP5/dWuK4r+bBODDVoD3o68H+IO+3HMWKwfLoKYIvouQbMPb1i7t6VuGT6848mfit8/7w+1C+0nC5GEBfn3Vb2FUrDgvflYSgFc966vTJ6m5uP6kAfiole79vjxy1DjHqXmcL8GcdgDeb1/4ea4AL9zKcb/3t06JD330qsYrwMueF/e1Ym/v4j5x+iknLL1ZVQa8xf2l+CRHdf/vcbe3GPbYstJV7StdAV59PBr3Ma84ZtwtPsYJwIc9Xk6yArzfWFYagE+ypU4/ewH4mC8y3IwAAQIECBAgQIAAAQIEZiYgAB+TdiUBeHnMN267c7tQubjsoHMOCgz6hWzjhCqDhlgPNsrw4qd/8seWha3D9qWtnrtf6DVJkFQPk/7sL77cd1uWfg5jtnHozcoA8ede8JzYY7cnLzMo9z8uVuP2C2nHCWbLi48TgJeri0fNu3FCu7IHd91z74q/uLMMQ8fdA3xU3fWQetTty3GO41ye60t/+3+3e6Oi2oPqWMa9fnH8uHN63gH40uPNP94Rd22+L6pfRLjS+0f5mFB8QuPe+7+77HGs/KLYZ//EM+Irf/+1Zb8bp0+jLKuBb3Hbcd8IGhaAT6OuquWwebOSFeDD5lY9AJ90LCsNwCe5bwjAV3pPcxwBAgQIECBAgAABAgQIzFJAAD6m7qgQYFBwMejj8YNCyTIEvvJzf7UsvCvPU+wzXOzBW/70u+6wALAIZYqfYm/rfiv7BoXgg0L5Kt+gVZ9lUFNfzV1cv/jSwOLLA4svl+y3wrjfdhbDAq7Sb9C2H8PaXd2yo773+LDfFeccN4wqbjsoAO/Xt1HzrjqeYeFZv3k4Sc1l3eMG4KN6VB/XuAHnuDVX+9VvX/Zp7LVe/7LR+tyadwBenYfF/6/P4UGPRcPuE9VPENTvv8N+N+x+WPTwz//qb5btJV7f5qXfY8GwN+jOueCSOPHYl/ZWp4+ae/Xel+PvV9eoHg+6P5f1T7oH+KjzlVu0lPvHTzKWlQbgRU1N7K0AH/NFhpsRIECAAAECBAgQIECAwMwEBOBj0o4KIketCu23X2u/7T3K4KgIwPfZc/e48eZ/WKqw3xdCjtpCoAgsqz/9Apl6MFKGjNX9uetbk9SDmDK4ufTya/qudh+0H3Q5pjIwGhQ8D1q9XI6tGnIOCoVGtXrYdiHDflcPHvtdp+pVjnXU7Yrfj7Onezn2UXOw3td7Nt8XxRY9g37q+yHfeNOtSzft1//qecbdh7vcymbNfvv0Vvhe8dlr+5ZTztuv/sM/Dq25Pn8G7UE/LMwd5DGuc3n8oAB80BiL48pr9Jsj43xhZ3W+DLLo9zgy7L5R3p/6HTfsd4PuF9XHlaVtmLZu7a1aL/f47vfdAMPuD9V+jgrAJ6lrnAC8fOyrPtYWVsVP9fFwkk/r1PtfnK/4AtJ+X27cb473M24SgDexF4CPeubxewIECBAgQIAAAQIECBCYtYAAfNbCMz7/qNBzxpd3egIEOiIwzqc4OjKUhStz3G2oFg7GgAkQIECAAAECBAgQIECAwBgCAvAxkFK+ybhbQqQ8BrURIDBbgUm+yHC2lTj7KIHqVizlbWf1vQejavF7AgQIECBAgAABAgQIECCQg4AAvINdLD/iX24XMOmWBh0cspIJEGggUH6J6wVnndrbb99PugL9tjSpbl2VbuUqI0CAAAECBAgQIECAAAECaQoIwNPsi6oIECBAgAABAgQIECBAgAABAgQIECBAoKGAALwhoMMJECBAgAABAgQIECBAgAABAgQIECBAIE0BAXiafVEVAQIECBAgQIAAAQIECBAgQIAAAQIECDQUEIA3BHQ4AQIECBAgQIAAAQIECBAgQIAAAQIECKQpIABPsy+qIkCAAAECBAgQIECAAAECBAgQIECAAIGGAgLwhoAOJ0CAAAECBAgQIECAAAECBAgQIECAAIE0BQTgafZFVQQIECBAgAABAgQIECBAgAABAgQIECDQUEAA3hDQ4QQIECBAgAABAgQIECBAgAABAgQIECCQpoAAPM2+qIoAAQIECBAgQIAAAQIECBAgQIAAAQIEGgoIwBsCOpwAAQIECBAgQIAAAQIECBAgQIAAAQIE0hQQgKfZF1URIECAAAECBAgQIECAAAECBAgQIECAQEMBAXhDQIcTIECAAAECBAgQIECAAAECBAgQIECAQJoCAvA0+6IqAgQIECBAgAABAgQIECBAgAABAgQIEGgoIABvCOhwAgQIECBAgAABAgQIECBAgAABAgQIEEhTQACeZl9URYAAAQIECBAgQIAAAQIECBAgQIAAAQINBQTgDQEdToAAAQIECBAgQIAAAQIECBAgQIAAAQJpCgjA0+yLqggQIECAAAECBAgQIECAAAECBAgQIECgoYAAvCGgwwkQIECAAAECBAgQIECAAAECBAgQIEAgTQEBeJp9URUBAgQIECBAgAABAgQIECBAgAABAgQINBQQgDcEdDgBAgQIECBAgAABAgQIECBAgAABAgQIpCkgAE+zL6oiQIAAAQIECBAgQIAAAQIECBAgQIAAgYYCAvCGgA4nQIAAAQIECBAgQIAAAQIECBAgQIAAgTQFBOBp9kVVBAgQIECAAAECBAgQIECAAAECBAgQINBQQADeENDhBAgQIECAAAECBAgQIECAAAECBAgQIJCmgAA8zb6oigABAgQIECBAgAABAgQIECBAgAABAgQaCgjAGwI6nAABAgQIECBAgAABAgQIECBAgAABAgTSFBCAp9kXVREgQIAAAQIECBAgQIAAAQIECBAgQIBAQwEBeENAhxMgQIAAAQIECBAgQIAAAQIECBAgQIBAmgIC8DT7oioCBAgQIECAAAECBAgQIECAAAECBAgQaCggAG8I6HACBAgQIECAAAECBAgQIECAAAECBAgQSFNAAJ5mX1RFgAABAgQIECBAgAABAgQIECBAgAABAg0FBOANAR1OgAABAgQIECBAgAABAgQIECBAgAABAmkKCMDT7IuqCBAgQIAAAQIECBAgQIAAAQIECBAgQKChgAC8IaDDCRAgQIAAAQIECBAgQIAAAQIECBAgQCBNAQF4mn1RFQECBAgQIECAAAECBAgQIECAAAECBAg0FBCANwR0OAECBAgQIECAAAECBAgQIECAAAECBAikKSAAT7MvqiJAgAABAgQIECBAgAABAgQIECBAgACBhgIC8IaADidAgAABAgQIECBAgAABAgQIECBAgACBNAUE4Gn2RVUECBAgQIAAAQIECBAgQIAAAQIECBAg0FBAAN4Q0OEECBAgQIAAAQIECBAgQIAAAQIECBAgkKaAADzNvqiKAAECBAgQIECAAAECBAgQIECAAAECBBoKCMAbAjqcAAECBAgQIECAAAECBAgQIECAAAECBNIUEICn2RdVESBAgAABAgQIECBAgAABAgQIECBAgEBDAQF4Q0CHEyBAgAABAgQIECBAgAABAgQIECBAgECaAgLwNPuiKgIECBAgQIAAAQIECBAgQIAAAQIECBBoKCAAbwjocAIECBAgQIAAAQIECBAgQIAAAQIECBBIU0AAnmZfVEWA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/s4rt1mtfz/ZhOW5OYFsBATg2bTSQOYhUD7B7L/vXssC7HFXgI9691UAPo8upneNWc6rQedOT0FFBAgQIECAAAECBAgQWByBft8P1i/U7heAj/t3ni1QFmc+GelwAQG4GUJgTIFhTzDj7AE+KvwuyhCAj9mMjG42y3k17ouijDgNhQABAgQIECBAgAABAskL9Au/y6LruUA9xJ7k77zi0+nr37MpTj/lhDj4wDXJuyiQwKwEBOCzknXerARGbSFRf0e2/k3L9RXig3AE4FlNm5GDmeW8GnXukcW5AQECBAgQIECAAAECBAhMXWDUvt39vhSzKKLYRnXU33lFFvHUNfsubZ9S/Pell18TF5x1auy5x25TH4sTEuiKgAC8K51SZ6sC5buz37rj7mV1vOl1Ry1thVI8Sb3hLWf1fl/dZ6vcD/zGm25dduzRLzks3nn6SbF6l52j3J+rvMEB++0dG88+zTu0rXZ99hef5by67Y67Yt0Z58awOTv7EboCAQIECBAgQIAAAQIECFQF6n//l7+76H1nLguu3372hb1fVbODUX9D1n9vD3Bzj8A2AQG4mUCAAAECBAgQIECAAAECBAgQIECAAAECWQoIwLNsq0ERIECAAAECBAgQIECAAAECBAgQIECAgADcHCBAgAABAgQIECBAgAABAgQIECBAgACBLAUE4Fm21aAIECBAgAABAgQIECBAgAABAgQIECBAQABuDhAgQIAAAQIECBAgQIAAAQIECBAgQIBAlgIC8CzbalAECBAgQIAAAQIECBAgQIAAAQIECBAgIAA3BwgQIECAAAECBAgQIECAAAECBAgQIEAgSwEBeJZtNSgCBAgQIECAAAECBAgQIECAAAECBAgQEICbAwQIECBAgAABAgQIECBAgAABAgQIECCQpYAAPMu2GhQBAgQIECBAgAABAgQIECBAgAABAgQICMDNAQIECBAgQIAAAQIECBAgQIAAAQIECBDIUkAAnmVbDYoAAQIECBAgQIAAAQIECBAgQIAAAQIEBODmAAECBAgQIECAAAECBAgQIECAAAECBAhkKSAAz7KtBkWAAAECBAgQIECAAAECBAgQIECAAAECAnBzgAABAgQIECBAgAABAgQIECBAgAABAgSyFBCAZ9lWgyJAgAABAgQIECBAgAABAgQIECBAgAABAbg5QIAAAQIECBAgQIAA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hYyeAAECBAgQIECAwPQEBODTs3QmAgQIECBAgAABAiMF6tu3VLdoGXmwGxAgQIAAAQIECBAgMJGAAHwiLjcmQIAAAQIECBAgQIAAAQIECBAgQIAAga4ICMC70il1EiBAgAABAgQIECBAgAABAgQIECBAgMBEAgLwibjcmAABAgQIECBAgAABAgQIECBAgAABAgS6IiAA70qn1EmAAAECBAgQIECAAAECBAgQIECAAAECEwkIwCficmMCBAgQIECAAAECBAgQIECAAAECBAgQ6IqAALwrnVInAQIECBAgQIAAAQIECBAgQIAAAQIECEwkIACfiMuNCRAgQIAAAQIECBAgQIAAAQIECBAgQKArAgLwrnRKnQQIECBAgAABAgQIECBAgAABAgQIECAwkYAAfCIuNyZAgAABAgQIECBAgAABAgQIECBAgACBrggIwLvSKXUSIECAAAECBAgQIECAAAECBAgQIECAwEQCAvCJuNyYAAECBAgQIECAAAECBAgQIECAAAECBLoiIADvSqfUSYAAAQIECBAgQIAAAQIECBAgQIAAAQITCQjAJ+JyYwIECBAgQIAAAQIECBAgQIAAAQIECBDoioAAvCudUicBAgQIECBAgAABAgQIECBAgAABAgQITCQgAJ+Iy40JECBAgAABAgQIECBAgAABAgQIECBAoCsCAvCudEqdBAgQIECAAAECBAgQIECAAAECBAgQIDCRgAB8Ii43JkCAAAECBAgQIECAAAECBAgQIECAAIGuCAjAu9IpdRIgQIAAAQIECBAgQIAAAQIECBAgQIDARAIC8Im43JgAAQIECBAgQIAAAQIECBAgQIAAAQIEuiIgAO9Kp9RJgAABAgQIECBAgAABAgQIECBAgAABAhMJCMAn4nJjAgQIECBAgAABAgQIECBAgAABAgQIEOiKgAC8K51SJwECBAgQIECAAAECBAgQIECAAAECBAhMJCAAn4jLjQkQIECAAAECBAgQIECAAAECBAgQIECgKwIC8K50Sp0ECBAgQIAAAQIECBAgQIAAAQIECBAgMJGAAHwiLjcmQIAAAQIECBAgQIAAAQIECBAgQIAAga4ICMC70il1EiBAgAABAgQIECBAgAABAgQIECBAgMBEAgLwibjcmAABAgQIECBAgAABAgQIECBAgAABAgS6IiAA70qn1EmAAAECBAgQIECAAAECBAgQIECAAAECEwkIwCficmMCBAgQIECAAAECBAgQIECAAAECBAgQ6IqAALwrnVInAQIECBAgQIAAAQIECBAgQIAAAQIECEwkIACfiMuNCRAgQIAAAQIECBAgQIAAAQIECBAgQKArAgLwrnRKnQQIECBAgAABAgQIECBAgAABAgQIECAwkYAAfCIuNyZAgAABAgQIECBAgAABAgQIECBAgACBrggIwLvSKXUSIECAAAECBAgQIECAAAECBAgQIECAwEQCAvCJuNyYAAECBAgQIECAAAECBAgQIECAAAECBLoiIADvSqfUSYAAAQIECBAgQIAAAQIECBAgQIAAAQITCQjAJ+JyYwIECBAgQIAAAQIECBAgQIAAAQIECBDoioAAvCudUicBAgQIECBAgAABAgQIECBAgAABAgQITCQgAJ+Iy40JECBAgAABAgQIECBAgAABAgQIECBAoCsCAvCudEqdBAgQIECAAAECBAgQIECAAAECBAgQIDCRgAB8Ii43JkCAAAECBAgQIECAAAECBAgQIECAAIGuCAjAu9IpdRIgQIAAAQIECBAgQIAAAQIECBAgQIDARAIC8Im43JgAAQIECBAgQIAAAQIECBAgQIAAAQIEuiIgAO9Kp9RJgAABAgQIECBAgAABAgQIECBAgAABAhMJCMAn4nJjAgQIECBAgAABAgQIECBAgAABAgQIEOiKgAC8K51SJwECBAgQIECAAAECBAgQIECAAAECBAhMJPD/A4MVDsUCJ3q1AAAAAElFTkSuQmCC", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "title = 'HObjektText: TEST'\n", "\n", "markers = {\n", " 'size': 12,\n", " 'color': 'yellow',\n", " 'line': {\n", " 'width': 2,\n", " 'color': 'red',\n", " },\n", "}\n", "hover_data = {\n", " 'ErstellungsDatum': '|%d.%m.%Y',\n", " 'VorgangsBeschreibung': True,\n", "}\n", "fig = px.line(\n", " data_frame=res,\n", " x='ErstellungsDatum',\n", " y='ObjektID',\n", " title=title,\n", " hover_data=hover_data,\n", ")\n", "fig.update_traces(mode='markers+lines', marker=markers, marker_symbol='diamond')\n", "fig.update_xaxes(\n", " tickformat=\"%B\\n%Y\",\n", " rangeslider_visible=True,\n", ")\n", "fig.update_yaxes(type='category')\n", "fig.update_layout(hovermode=\"x unified\")" ] }, { "cell_type": "code", "execution_count": null, "id": "8642ade9-30c1-4ac6-8257-9437e2e5e5a1", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "5f909534-8a08-42c1-a640-453b0c76d3c9", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.8" } }, "nbformat": 4, "nbformat_minor": 5 }