<jupyter_start><jupyter_text>Parallel Coordinates PlotThe following is a simple example, how to create a parallel coordinates plot with the `pcp()` function.<jupyter_code>import sys
sys.path.insert(0, "..")

import matplotlib.pyplot as plt
from plot import load_csv, pcp<jupyter_output><empty_output><jupyter_text>Setup dataRequired is a nested list `data` for the curves. Each curve is described by a list containing the data points on the y-axes. The labels for the y-axes is a list of strings `labels`.Load your data from a csv-file:<jupyter_code>data, labels = load_csv("data.csv")<jupyter_output><empty_output><jupyter_text>Or define the data in here:<jupyter_code>data = [[201, "SGD+Mom.", 4e-06, 32, 0.24, 0.19, 0.182],
        [121, "RMSProp", 0.00039, 1, 0.43, 0.17, 0.244],
        [201, "SGD+Nest.", 2e-06, 8, 0.17, 0.08, 0.273],
        [161, "RAdam", 0.000532, 1, 0.96, 0.01, 0.279],
        [121, "SGD+Mom.", 3e-06, 8, 0.63, 0.12, 0.296],
        [121, "SGD+Nest.", 2e-06, 4, 0.38, 0.16, 0.296],
        [169, "RMSProp", 0.000319, 1, 0.31, 0.05, 0.315],
        [161, "RMSProp", 0.000342, 1, 0.2, 0.03, 0.342],
        [169, "SGD+Mom.", 2.9e-05, 32, 0.97, 0.04, 0.547],
        [161, "Amsgrad", 2.6e-05, 2, 0.99, 0.23, 0.573],
        [169, "Amsgrad", 3.3e-05, 16, 0.41, 0.19, 0.719],
        [121, "SGD+Nest.", 0.00051, 8, 0.52, 0.02, 0.621],
        [201, "RAdam", 3e-06, 4, 0.45, 0.04, 0.823],
        [169, "RMSProp", 1e-06, 16, 0.66, 0.11, 0.823],
        [161, "RMSProp", 7.2e-05, 8, 0.0, 0.02, 0.824],
        [169, "RAdam", 2e-06, 8, 0.48, 0.01, 0.825],
        [161, "RAdam", 3e-06, 8, 0.39, 0.04, 0.825],
        [161, "RAdam", 1e-06, 16, 0.67, 0.06, 0.866],
        [161, "SGD+Mom.", 0.000133, 32, 0.17, 0.07, 0.826],
        [201, "Adam", 1.2e-05, 16, 0.51, 0.06, 0.828]]
labels = ["DenseNet", "Optimiser", "Learning rate", "Batchsize", "Weights", "Dropout", "Score"]<jupyter_output><empty_output><jupyter_text>Setup y-axesAxes can be linear, logarithmic or categorical. Categorical axes are automatically recognized for string values. Often only logarithmic axes need to be specified. The axis limits are determined automatically from the data. If there is not enough data available or if you want to specify your own limits, these must be specified.<jupyter_code>ytype = ["categorial", [], "log", "categorial", [], [], []]
ylim = [[], [], [1e-06, 0.001], [], [0, 1], [0, 0.25], [0.0, 1.0]]<jupyter_output><empty_output><jupyter_text>Plot and SaveDefault plot without adjustments:<jupyter_code>fig = pcp(data, labels, alpha=0.8)
plt.show()<jupyter_output><empty_output><jupyter_text>With custom `type` and `ylim`:<jupyter_code>fig = pcp(data, labels, ytype, ylim, alpha=0.8)
plt.savefig("test.svg", format="svg", facecolor="white", bbox_inches="tight")
plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.19113475177304964, 'fraction_numerical': 0.1397163120567376, 'mean_word_length': 3.686046511627907, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '226230', 'license': 'MIT', 'n_tokens_mistral': 1447, 'n_tokens_neox': 1153, 'n_words': 312, 'path': 'example/example.ipynb', 'repo_name': 'gregornickel/pcp', 'size': '2820'}