holoviz / hvplot

A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews
https://hvplot.holoviz.org
BSD 3-Clause "New" or "Revised" License
1.01k stars 99 forks source link

Make the OHLC reference example awesome. #624

Open MarcSkovMadsen opened 3 years ago

MarcSkovMadsen commented 3 years ago

I am trying out the OHLC reference guide https://hvplot.holoviz.org/reference/pandas/ohlc.html#pandas-gallery-ohlc.

The OHLC plot is a very important plot to me. Thanks for adding.

As a user I will struggle with the example because I will have to "polish" the example before I can give it to users

1) The volume plot uses scientific notation. To be quite honest I have never seen that used in Trading. 2) The last example is simply too small and unresponsive for me as a user. I cannot see anything. At least it should be responsive horizontally and higher vertically. Even better if I could click a button to maximize it for investigation. I've tried to add .opts(responsive=True, height=SOME_HEIGHT) to all plots and the layout. The height is changed but unfortunately for the plots they don't become responsive. And when added to the layout the option is not known (i.e. I get an error). The first thing I would want as a user is to make it bigger and responsive. 3) The colors are old school and not appealing. 4) The font looks rubbed to me and also old school. 5) There is a myriad of tools. Many which does the same (for example the two resets). 6) I know from experience that the first thing a user will try is to zoom or change the range. But the default tool on the volume and ohlc plot is pan. I've seen this many times that users thinks that Bokeh plots are counter intuitive because the right tools are not set as default.

  1. The Range Tool is difficult to use. Sometimes you have to first have to pan before you can use the Range Tool. Again this is counter intuitive and not nearly as polished as users will be used to. Users will expect to be able to both pan and change the range without having to change to another tool.

image

For me hvplot is for quick, exploratory data analysis. Thus the default values needs to be spot on. Not something the user/ developer should have to spend time on changing.

Solutions

  1. Use standard financial formatting of axes.
  2. Make plot layout higher and horizontally responsive.
  3. Find some better default colors
  4. Find a better default font. For example the Open Sans used in the Fast templates.
  5. Make the set of tools of the plot layout simpler and more lean.
  6. Set box zoom as default tool on volume and ohlc plot.
  7. Improve Range Tool so that you always can change the range on the left and right side initially. Maybe that needs fixing from the Bokeh team.

Maybe

  1. Make sure the user cannot pan outside the min and max of the date range. It take time to get back if you have panned outside this range. I'm not sure you normally can pan outside the min and max in ohlc charts.

Inspiration

jbednar commented 3 years ago

users thinks that Bokeh plots are counter intuitive because the right tools are not set as default.

I agree; I almost always want a zoom tool enabled by default. Because plots are almost always auto-ranged, I never start out wanting to pan them; there's nothing to pan to (as it's all shown by default)! Instead I almost always want to zoom, which means enabling the zoom tool. Very irritating!

The Range Tool is difficult to use.

I agree. I have yet to figure out how to bring in the range from the right.

(for example the two resets)

I haven't spotted where the two resets are; where should I be looking?

MarcSkovMadsen commented 3 years ago

The second reset is on the Volume plot. It’s shown as zoom as you increase the height.