Hello Joseph,

Thanks a lot for the information. I will try this method and see what I can
do with it.

Best regards,
Shivang Agarwal

On Mon 19 Nov, 2018, 7:35 PM Joseph Weston <[email protected] wrote:

> Hi,
>
>
> Thank you for the quick response. When I try *kwant.plotter.map(sys,
> value, vmin=0, vmax=2) *I get the following error:
>
> ValueError: Only 2D systems can be plotted this way.
>
>  My system is a 3D system. I would be glad if you could help me out in this 
> regard.
>
>
>
> As the error message says, 'kwant.plotter.map' doesn't work for 3D
> systems. Matplotlib does not have very good support for 3D plots in any
> case, and it's not clear that there's a general "best way" of plotting a 3D
> scalar field.
>
> Probably your best bet will be to reduce the dimensionality of what you're
> trying to plot.
>
> Failing that, you could try using 'kwant.plotter.interpolate_density'
> (available in the current development version of Kwant and in the
> soon-to-be-released Kwant 1.4) with the 'ipyvolume' [1] package; something
> like:
>
>
>     import ipyvolume
>
>     ...
>
>     field, box = kwant.plotter.interpolate_density(syst, some_density)
>
>     field = field.squeeze()  # ipyvolume requires a rank-3 array
>
>     ipyvolume.quickvolshow(field)
>
>
> Note that the above code is incomplete and untested; it's just to show how
> you could glue the relevant pieces together.
>
>
> Happy Kwanting,
>
> Joe
>
>
>
> [1]: https://ipyvolume.readthedocs.io/en/latest/
>

Reply via email to