You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Histograms_Animated.py 840B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #! /usr/bin/env python
  2. import argparse
  3. import plotly.graph_objects as go
  4. import numpy
  5. parser = argparse.ArgumentParser()
  6. parser.add_argument('filename', help='Enter the sliced data filename')
  7. args = parser.parse_args()
  8. data = numpy.loadtxt(args.filename, delimiter="\t")
  9. # The data is in row format
  10. x = [i for i in range(len(data[0]))]
  11. fig = go.Figure()
  12. for line in data:
  13. fig.add_trace(go.Bar(x=x, y=[d for d in line]))
  14. steps = []
  15. for i in range(len(fig.data)):
  16. step = dict(
  17. method="update",
  18. args=[{'visible': [False] * len(fig.data)},
  19. {'title': "Slider switched to step: " + str(i)}],)
  20. step["args"][0]["visible"][i] = True
  21. steps.append(step)
  22. sliders = [dict(
  23. active=0,
  24. currentvalue={"prefix": "bin box "},
  25. pad={"t": 50},
  26. steps=steps)]
  27. fig.update_yaxes(range=[0,0.2])
  28. fig.update_layout(
  29. sliders=sliders
  30. )
  31. fig.show()