You're already on a solid path—using Python to fetch and visualize PLC data with Tkinter, Excel, and Matplotlib is a great start. To level up the user experience and make your app more interactive and robust, here are some human-friendly insights:
PyQt6 or PySide6
Enterprise-grade GUI frameworks with rich widgets, polished look and feel, and great cross-platform support. Excellent if you're building a more complex or commercial-grade application.
wxPython
Offers native-looking interfaces and integrates smoothly with Matplotlib or Seaborn. It’s beginner-friendly and widely supported.
Kivy
Modern interface design, perfect for touch-friendly or cross-platform setups (including desktop and mobile). Great if you need a more graphical or customizable UI.
Plotly (with Dash for dashboards)
Plotly shines for fully interactive, web-ready charts. Pairing it with Dash lets you turn those charts into responsive dashboard apps—no HTML/CSS/JS needed.
Bokeh
Another strong contender for interactive visuals, especially useful for real-time updates. Has good documentation and flexibility.
Streamlit
Extremely easy to use—ideal for quick prototypes or functional dashboards. Especially loved in the dev community for its simplicity.
“If you're looking to plot graphs I strongly recommend using Plotly and Dash… it was by far the easiest way to get a GUI with multiple complex graphs.”
“For something simple that will get you 90% of the way there, Streamlit is 100% the way to go.”
GoalRecommended ToolsRich, desktop-style appPyQt6/PySide6 + PlotlyRapid, interactive dashboardsStreamlit or DashNative GUI with embedded chartswxPython + MatplotlibTouch-enabled/multi-platform UIKivy + Plotly/Bokeh
Ease & speed? Go with Streamlit or Dash.
Full-featured desktop UI? Opt for PyQt/PySide6 or wxPython.
Touch-friendly or cross-platform interfaces? Try Kivy.
Interactive charting built-in? Use Plotly or Bokeh.
Let me know what direction you're leaning toward—I’d be glad to share starter templates or help with your next steps!