Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 05:22
    sameerCoder opened #782
  • 05:22
    sameerCoder labeled #782
  • 05:21
    Sieboldianus commented #117
  • 04:51
    MarcSkovMadsen edited #781
  • 04:51
    MarcSkovMadsen edited #781
  • 04:50
    MarcSkovMadsen edited #781
  • 04:47
    MarcSkovMadsen labeled #781
  • 04:47
    MarcSkovMadsen opened #781
  • Nov 13 23:50
    philippjfr commented #778
  • Nov 13 23:36
    TimoRoth commented #778
  • Nov 13 23:23
    fmaussion commented #778
  • Nov 13 23:23
    labdmitriy commented #780
  • Nov 13 23:20
    labdmitriy edited #780
  • Nov 13 22:56
    jsignell synchronize #373
  • Nov 13 22:56

    jsignell on strip_pyviz

    Adding reference to examples.py… (compare)

  • Nov 13 22:53
    miccoli commented #3884
  • Nov 13 22:38
    philippjfr unlabeled #780
  • Nov 13 22:38
    philippjfr labeled #780
  • Nov 13 22:38
    philippjfr commented #780
  • Nov 13 22:37
    philippjfr commented #780
JieLin
@JieLin69105075_twitter
@jbednar Thank you so much! Your answer means geoviews and holoviews are the best geo visual tools in Pyhton.
James A. Bednar
@jbednar
@limx0 , if you search for progress bar and panel you should be able to find various issues that people have raised and the somewhat hacky solutions that we have proposed for them. Yes, it's possible, no, it's not as easy and straightforward as it should be. Definitely future work and an active area of need.
Andrei Berceanu
@berceanu
If I take the classical holoviews mandelbrot example and add a vertical slice for x (besides the one for y already present), the holomap already becomes too heavy to display in the browser.
How so?
Andrei Berceanu
@berceanu
I understand it has to generate all the combinations of 21 x 21 values, but if I multiply that by the array size I get about 35 MB so not that big.
James A. Bednar
@jbednar
The size depends on the backend; with Matplotlib backend it stores the full PNG plot image for each combination, not just the original array size. You can replace the HoloMap with a DynamicMap to keep the size down, but then it won't export to static HTML.
Andrei Berceanu
@berceanu
I'm using the bokeh backend.
But I'm surprised the limitation is so low with HoloMap.
James A. Bednar
@jbednar
With Bokeh I'm not sure what it stores per combination.
Bryan Van de Ven
@bryevdv
If it's static HTML, you could take a look
James A. Bednar
@jbednar
Right, it's static HTML...
JieLin
@JieLin69105075_twitter
geoviews can plot large points. Does it can plot large curves and polygons??
Andrei Berceanu
@berceanu
Should I use heatmap or image?
(in holoviews)
James A. Bednar
@jbednar
Image is good for continuous axes; heatmap for categoricals. If you have one of each type of axis in the same plot, you'll have to hack one or the other.
Andrei Berceanu
@berceanu
Oh I see. I have continuous in both axes, so hv.Image it is :) tnx!
James A. Bednar
@jbednar
@JieLin69105075_twitter , GeoViews supports whatever data types HoloViews does, and HoloViews supports large data of many different types via Datashader, including points and curves: http://holoviews.org/user_guide/Large_Data.html
Datashader polygon support is being implemented as we speak; see pyviz/datashader#181 ; I expect it to be in master in a couple of weeks and then available in the following HoloViews and Datashader releases.
For now, large polygons are supported only as outlines, not filled shapes, and they may require converting into a Datashader-friendly storage format first (can't recall just what's been implemented in HoloViews for e.g. Shapely objects).
JieLin
@JieLin69105075_twitter
@jbednar Thank you
Andrei Berceanu
@berceanu
How come I can't add a group to an image sample?
x_sample = hv.DynamicMap(lambda x, y: image.sample(x=np.clip(x,bounds[0],bounds[2]), group='xsample'), streams=[pointer])
Dimension group not found in Image.
James A. Bednar
@jbednar
I think it would be something like x_sample = hv.DynamicMap(lambda x, y: image.sample(x=np.clip(x,bounds[0],bounds[2])), streams=[pointer]).relabel(group='xsample')
(Sample accepts ranges on user-defined dimensions, which can have arbitrary names and so we don't want to have a lot of keywords supported, so you have to do that sort of thing separately.)
Andrei Berceanu
@berceanu
I see, thanks!
Can I get the overall min and max values of an Image?
James A. Bednar
@jbednar
i = hv.Image(...) ; i.data will give you the underlying array, with which you can do whatever you like if it's not already supported. (i.e. i.max() may work, but e.g. np.amax(i) will if that doesn't, for an image backed by a Numpy array).
Andrei Berceanu
@berceanu
gotcha!
sameerCoder
@sameerCoder

@jbednar
As suggested i have installed pip install --upgrade git+https://github.com/pyviz/panel.git#egg=panel
My panel version also got upgraded to 0.7 as it is showing in conda list .
conda list
panel 0.7.0a14.post21+gb55b21c pypi_0 pypi

Still i am getting Div Error
ValueError: Div type not found, could not apply options.
I have imported panel also and i am using pn.Column for my finalplot.
My little code as below :-

hv.extension("bokeh")
hv.extension("matplotlib")

allplot={(k.strftime("%Y-%m-%d %H:%M:%S"),r):plotthis(k,r)for k in perdelta(strt, strt + timedelta(days=1), timedelta(hours=18)) for r in ['O','A','Wh','T_N']}



df_div = hv.Div("""
    <figure>
    <img src="https://i.ibb.co/imglogo.png" height='80' width='90' vspace='-10'>

    """)

df_div1 = hv.Div("""
    &nbsp<center><b><p style="color:#B22222";font-size:80px;font-family:Times new roman><h1 style=font-size:20px;margin-left:2.5em;margin-top:-1em;color:#B22222>I Services<br />
    (IN)</h1></p></b></center>

    """)

tiles = gv.tile_sources.Wikipedia
hmap1 = hv.HoloMap(allplot, kdims=['Date and Time :','region'])
#hmap2 = hv.HoloMap(allplot2, kdims=['Date and Time :','region'])


dd=df_div.opts(width=70, height=70)
dd1=df_div1.opts(width=600, height=90)
dd2=df_div2.opts(width=100,height=10)
finalplot=pn.Column(pn.Row(dd, dd1, dd2), tiles*rasterize(hmap1).options(**opts)*logo1.opts(hooks=[absolute_position], apply_ranges=False)).servable()

#finalplot
hv.output(finalplot, holomap='gif', fps=3, backend='matplotlib')
Div_Errror_msg.png
@philippjfr @jbednar
Kindly let me know where i am doing wrong.
James A. Bednar
@jbednar
Remove hv.extension("matplotlib") and backend='matplotlib'; you can now ignore matplotlib and just keep using Bokeh as you had been before.
sameerCoder
@sameerCoder
finalplot came but with no animation .
noamination.png
gif file not created .
few warning getting .
finalplot=pn.Column(pn.Row(dd, dd1, dd2), tiles*rasterize(hmap1).options(**opts)*logo1.opts(hooks=[absolute_position], apply_ranges=False)).servable()

#finalplot
finalplot2=hv.output(finalplot, holomap='gif', fps=3, backend='bokeh')
finalplot2

WARNING:param.GeoRasterPlot08463: Supply either hooks or finalize_hooks not both, using hooks and ignoring finalize_hooks.
WARNING:param.RGBPlot08482: Supply either hooks or finalize_hooks not both, using hooks and ignoring finalize_hooks.
WARNING:param.GeoRasterPlot08463: Supply either hooks or finalize_hooks not both, using hooks and ignoring finalize_hooks.
WARNING:param.RGBPlot08482: Supply either hooks or finalize_hooks not both, using hooks and ignoring finalize_hooks.
Paul Gierz
@pgierz
Anyone have any ideas how I could reproduce this? https://stackoverflow.com/questions/20144529/shifted-colorbar-matplotlib
Id like to use hvplot and the bokeh backend
James A. Bednar
@jbednar
@sameerCoder , hv.output() is for HoloViews objects, and you're feeding it a Panel object. You can feed it the rasterize(hmap1) object here; the rest won't work.
James A. Bednar
@jbednar
@pgierz, bokeh/bokeh#9303 (not released) added the ability to generate asymmetric color bars to Bokeh; not sure if that's what you need, or if you just need to set the clim for the plot to a fixed value.
sameerCoder
@sameerCoder

If i am writing my code as below then i am getting Error
where type(finalplot)-- holoviews.core.spaces.DynamicMap


finalplot=tiles*rasterize(hmap1).options(**opts)
finalplot2=hv.output(finalplot,holomap='gif',fps=3,backend='bokeh')
finalplot2

Error: Format 'gif' does not appear to be supported.
For help with hv.util.output call help(hv.util.output)

James A. Bednar
@jbednar
Maybe rasterize(hmap1, dynamic=False).
sameerCoder
@sameerCoder
but i need dynamic to be True as i want zoom option to work

Even when i do dynamic=False same Error :

finalplot=tiles*rasterize(hmap1,dynamic=False).options(**opts)
#finalplot
finalplot2=hv.output(finalplot,holomap='gif',fps=3,backend='bokeh')
finalplot2

Error: Format 'gif' does not appear to be supported.
For help with hv.util.output call help(hv.util.output)

Steve Alexander
@SteveAlexander
I want to move the y axis major labels. I’m successfully moving them left-to-right using figure.yaxis.major_label_standoff. However, major_label_text_baseline doesn’t seem to do anything. I would expect it to move the tick labels up and down relative to the tick line
image.png
my goal is to move these up a bit
Jacob
@goraj
Hi, could someone explain me to scale embedded images in hovertools?
I would like to get some window properties so I could scale it in javascript.
Jacob
@goraj
https://ibb.co/NCw3nPt Ive included a screenshot that shows that the html embedded images wont scale to the window.
James A. Bednar
@jbednar
@sameerCoder , gif output won't have any dynamic zooming; it's just a flipbook of images. But you can choose whatever height=..., width=... arguments you like so that there's something in the image to zoom into. Here, I'm not sure you're actually getting the Panel master version; try import panel as pn ; pn.__version__ to see if you have the right Panel version that does support gif output for Bokeh.