# Writing Custom View for reuse of python plots

**URL:** https://discourse.paraview.org/t/writing-custom-view-for-reuse-of-python-plots/14845
**Category:** ParaView Support
**Created:** [June 13, 2024, 10:08pm UTC](https://discourse.paraview.org/t/writing-custom-view-for-reuse-of-python-plots/14845 "2024-06-13T22:08:54Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![sherin.sugathan](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sherin.sugathan/32/15264_2.png) [@sherin.sugathan](https://discourse.paraview.org/u/sherin.sugathan)
#### Post date: [June 13, 2024, 10:08pm UTC](https://discourse.paraview.org/t/writing-custom-view-for-reuse-of-python-plots/14845/1 "2024-06-13T22:08:55Z")

</div>

Hi!  
I really like the existing ParaView’s views such as **RenderView, LineChartView, HistogramView** etc. They are really good in 2D and 3D plotting offering good performance. However, some visualizations in popular Python libraries like Matplotlib and Plotly are time-consuming to recreate in ParaView’s 2D views, such as the circos graph in Plotly ([Circos | Dash for Python Documentation | Plotly](https://dash.plotly.com/dash-bio/circos)).

I know that we can display visualizations from other Python libraries in ParaView using ‘Python View,’ but it lacks mouse interaction like in Matplotlib, likely because ‘Python View’ displays only an image of the figure.

To address this, I’m considering creating a new view that can render a Plotly graph using QtWebEngine.

Is this a feasible approach, and how should I implement it?

---

<div class="post-metadata">

### Author: ![CsatiZoltan](https://discourse.paraview.org/user_avatar/discourse.paraview.org/csatizoltan/32/6997_2.png) [@CsatiZoltan](https://discourse.paraview.org/u/CsatiZoltan)
#### Post date: [July 7, 2026, 9:08am UTC](https://discourse.paraview.org/t/writing-custom-view-for-reuse-of-python-plots/14845/2 "2026-07-07T09:08:07Z")

</div>

Hi @sherin.sugathan,

There is some recent activity on this, given that I want to achieve the same:

> [@Is threre a way to interact with PythonView?](https://discourse.paraview.org/t/is-threre-a-way-to-interact-with-pythonview/7108/3):
>
> It is possible to embed a Matplotlib figure into Qt using Qt for Python ([example 1](https://doc.qt.io/qtforpython-6/examples/example_external_matplotlib_widget_gaussian.html), [example 2](https://doc.qt.io/qtforpython-6/examples/example_external_matplotlib_widget3d.html)) thanks to the Qt [backend](https://matplotlib.org/stable/users/explain/figure/backends.html) of Matplotlib. Does it require PySide though? Is there a way to embed it directly in C++ Qt? I would like to create a custom Qt widget that contains a Matplotlib figure, and this custom widget would be docked as a panel in ParaView.

Have you made any advance in this topic since then?
