#!/usr/bin/env python0;

import plotly.graph_objects as go
import pandas as pd
import numpy as np
import sys

if len(sys.argv) != 2:
    print(f"Usage: ./{sys.argv[0]} <filename>")
    sys.exit(1)

df = pd.read_csv(sys.argv[1])

fig = go.Figure(data=[go.Scatter3d(x=df['x'], y=df['y'], z=df['z'], mode='markers')])

fig.update_layout(
    scene = dict(
        xaxis_title='X',
        yaxis_title='Y',
        zaxis_title='Z',
        xaxis=dict(nticks=10, range=[-220, 220]),
        yaxis=dict(nticks=10, range=[-220, 220]),
        zaxis=dict(nticks=10, range=[-220, 220])
    ),
)

fig.update_layout(
    scene = dict(
        camera = dict(
            eye=dict(x=1.5, y=1.5, z=1.5)
        )
    ),
)

fig.data[0].y, fig.data[0].z = fig.data[0].z, fig.data[0].y


fig.show()