code: def __init__(self, plotly_name="histogram", parent_name="", **kwargs):
      super(HistogramValidator, self).__init__(
          plotly_name=plotly_name,
          parent_name=parent_name,
          data_class_str=kwargs.pop("data_class_str", "Histogram"),
          data_docs=kwargs.pop(
              "data_docs",
              """
              alignmentgroup
                  Set several traces linked to the same position
                  axis or matching axes to the same
                  alignmentgroup. This controls whether bars
                  compute their positional range dependently or
                  independently.
              autobinx
                  Obsolete: since v1.42 each bin attribute is
                  auto-determined separately and `autobinx` is
                  not needed. However, we accept `autobinx: true`
                  or `false` and will update `xbins` accordingly
                  before deleting `autobinx` from the trace.
              autobiny
                  Obsolete: since v1.42 each bin attribute is
                  auto-determined separately and `autobiny` is
                  not needed. However, we accept `autobiny: true`
                  or `false` and will update `ybins` accordingly
                  before deleting `autobiny` from the trace.
              bingroup
                  Set a group of histogram traces which will have
                  compatible bin settings. Note that traces on
                  the same subplot and with the same
                  "orientation" under `barmode` "stack",
                  "relative" and "group" are forced into the same
                  bingroup, Using `bingroup`, traces under
                  `barmode` "overlay" and on different axes (of
                  the same axis type) can have compatible bin
                  settings. Note that histogram and histogram2d*
                  trace can share the same `bingroup`
              cliponaxis
                  Determines whether the text nodes are clipped
                  about the subplot axes. To show the text nodes
                  above axis lines and tick labels, make sure to
                  set `xaxis.layer` and `yaxis.layer` to *below
                  traces*.
              constraintext
                  Constrain the size of text inside or outside a
                  bar to be no larger than the bar itself.
              cumulative
                  :class:`plotly.graph_objects.histogram.Cumulati
                  ve` instance or dict with compatible properties
              customdata
                  Assigns extra data each datum. This may be
                  useful when listening to hover, click and
                  selection events. Note that, "scatter" traces
                  also appends customdata items in the markers
                  DOM elements
              customdatasrc
                  Sets the source reference on Chart Studio Cloud
                  for `customdata`.
              error_x
                  :class:`plotly.graph_objects.histogram.ErrorX`
                  instance or dict with compatible properties
              error_y
                  :class:`plotly.graph_objects.histogram.ErrorY`
                  instance or dict with compatible properties
              histfunc
                  Specifies the binning function used for this
                  histogram trace. If "count", the histogram
                  values are computed by counting the number of
                  values lying inside each bin. If "sum", "avg",
                  "min", "max", the histogram values are computed
                  using the sum, the average, the minimum or the
                  maximum of the values lying inside each bin
                  respectively.
              histnorm
                  Specifies the type of normalization used for
                  this histogram trace. If "", the span of each
                  bar corresponds to the number of occurrences
                  (i.e. the number of data points lying inside
                  the bins). If "percent" / "probability", the
                  span of each bar corresponds to the percentage
                  / fraction of occurrences with respect to the
                  total number of sample points (here, the sum of
                  all bin HEIGHTS equals 100% / 1). If "density",
                  the span of each bar corresponds to the number
                  of occurrences in a bin divided by the size of
                  the bin interval (here, the sum of all bin
                  AREAS equals the total number of sample
                  points). If *probability density*, the area of
                  each bar corresponds to the probability that an
                  event will fall into the corresponding bin
                  (here, the sum of all bin AREAS equals 1).
              hoverinfo
                  Determines which trace information appear on
                  hover. If `none` or `skip` are set, no
                  information is displayed upon hovering. But, if
                  `none` is set, click and hover events are still
                  fired.
              hoverinfosrc
                  Sets the source reference on Chart Studio Cloud
                  for `hoverinfo`.
              hoverlabel
                  :class:`plotly.graph_objects.histogram.Hoverlab
                  el` instance or dict with compatible properties
              hovertemplate
                  Template string used for rendering the
                  information that appear on hover box. Note that
                  this will override `hoverinfo`. Variables are
                  inserted using %{variable}, for example "y:
                  %{y}" as well as %{xother}, {%_xother},
                  {%_xother_}, {%xother_}. When showing info for
                  several points, "xother" will be added to those
                  with different x positions from the first
                  point. An underscore before or after
                  "(x|y)other" will add a space on that side,
                  only when this field is shown. Numbers are
                  formatted using d3-format's syntax
                  %{variable:d3-format}, for example "Price:
                  %{y:$.2f}". https://github.com/d3/d3-
                  format/tree/v1.4.5#d3-format for details on the
                  formatting syntax. Dates are formatted using
                  d3-time-format's syntax %{variable|d3-time-
                  format}, for example "Day: %{2019-01-01|%A}".
                  https://github.com/d3/d3-time-
                  format/tree/v2.2.3#locale_format for details on
                  the date formatting syntax. The variables
                  available in `hovertemplate` are the ones
                  emitted as event data described at this link
                  https://plotly.com/javascript/plotlyjs-
                  events/#event-data. Additionally, every
                  attributes that can be specified per-point (the
                  ones that are `arrayOk: true`) are available.
                  Finally, the template string has access to
                  variable `binNumber` Anything contained in tag
                  `<extra>` is displayed in the secondary box,
                  for example "<extra>{fullData.name}</extra>".
                  To hide the secondary box completely, use an
                  empty tag `<extra></extra>`.
              hovertemplatesrc
                  Sets the source reference on Chart Studio Cloud
                  for `hovertemplate`.
              hovertext
                  Same as `text`.
              hovertextsrc
                  Sets the source reference on Chart Studio Cloud
                  for `hovertext`.
              ids
                  Assigns id labels to each datum. These ids for
                  object constancy of data points during
                  animation. Should be an array of strings, not
                  numbers or any other type.
              idssrc
                  Sets the source reference on Chart Studio Cloud
                  for `ids`.
              insidetextanchor
                  Determines if texts are kept at center or
                  start/end points in `textposition` "inside"
                  mode.
              insidetextfont
                  Sets the font used for `text` lying inside the
                  bar.
              legend
                  Sets the reference to a legend to show this
                  trace in. References to these legends are
                  "legend", "legend2", "legend3", etc. Settings
                  for these legends are set in the layout, under
                  `layout.legend`, `layout.legend2`, etc.
              legendgroup
                  Sets the legend group for this trace. Traces
                  and shapes part of the same legend group
                  hide/show at the same time when toggling legend
                  items.
              legendgrouptitle
                  :class:`plotly.graph_objects.histogram.Legendgr
                  ouptitle` instance or dict with compatible
                  properties
              legendrank
                  Sets the legend rank for this trace. Items and
                  groups with smaller ranks are presented on
                  top/left side while with "reversed"
                  `legend.traceorder` they are on bottom/right
                  side. The default legendrank is 1000, so that
                  you can use ranks less than 1000 to place
                  certain items before all unranked items, and
                  ranks greater than 1000 to go after all
                  unranked items. When having unranked or equal
                  rank items shapes would be displayed after
                  traces i.e. according to their order in data
                  and layout.
              legendwidth
                  Sets the width (in px or fraction) of the
                  legend for this trace.
              marker
                  :class:`plotly.graph_objects.histogram.Marker`
                  instance or dict with compatible properties
              meta
                  Assigns extra meta information associated with
                  this trace that can be used in various text
                  attributes. Attributes such as trace `name`,
                  graph, axis and colorbar `title.text`,
                  annotation `text` `rangeselector`,
                  `updatemenues` and `sliders` `label` text all
                  support `meta`. To access the trace `meta`
                  values in an attribute in the same trace,
                  simply use `%{meta[i]}` where `i` is the index
                  or key of the `meta` item in question. To
                  access trace `meta` in layout attributes, use
                  `%{data[n[.meta[i]}` where `i` is the index or
                  key of the `meta` and `n` is the trace index.
              metasrc
                  Sets the source reference on Chart Studio Cloud
                  for `meta`.
              name
                  Sets the trace name. The trace name appears as
                  the legend item and on hover.
              nbinsx
                  Specifies the maximum number of desired bins.
                  This value will be used in an algorithm that
                  will decide the optimal bin size such that the
                  histogram best visualizes the distribution of
                  the data. Ignored if `xbins.size` is provided.
              nbinsy
                  Specifies the maximum number of desired bins.
                  This value will be used in an algorithm that
                  will decide the optimal bin size such that the
                  histogram best visualizes the distribution of
                  the data. Ignored if `ybins.size` is provided.
              offsetgroup
                  Set several traces linked to the same position
                  axis or matching axes to the same offsetgroup
                  where bars of the same position coordinate will
                  line up.
              opacity
                  Sets the opacity of the trace.
              orientation
                  Sets the orientation of the bars. With "v"
                  ("h"), the value of the each bar spans along
                  the vertical (horizontal).
              outsidetextfont
                  Sets the font used for `text` lying outside the
                  bar.
              selected
                  :class:`plotly.graph_objects.histogram.Selected
                  ` instance or dict with compatible properties
              selectedpoints
                  Array containing integer indices of selected
                  points. Has an effect only for traces that
                  support selections. Note that an empty array
                  means an empty selection where the `unselected`
                  are turned on for all points, whereas, any
                  other non-array values means no selection all
                  where the `selected` and `unselected` styles
                  have no effect.
              showlegend
                  Determines whether or not an item corresponding
                  to this trace is shown in the legend.
              stream
                  :class:`plotly.graph_objects.histogram.Stream`
                  instance or dict with compatible properties
              text
                  Sets hover text elements associated with each
                  bar. If a single string, the same string
                  appears over all bars. If an array of string,
                  the items are mapped in order to the this
                  trace's coordinates.
              textangle
                  Sets the angle of the tick labels with respect
                  to the bar. For example, a `tickangle` of -90
                  draws the tick labels vertically. With "auto"
                  the texts may automatically be rotated to fit
                  with the maximum size in bars.
              textfont
                  Sets the text font.
              textposition
                  Specifies the location of the `text`. "inside"
                  positions `text` inside, next to the bar end
                  (rotated and scaled if needed). "outside"
                  positions `text` outside, next to the bar end
                  (scaled if needed), unless there is another bar
                  stacked on this one, then the text gets pushed
                  inside. "auto" tries to position `text` inside
                  the bar, but if the bar is too small and no bar
                  is stacked on this one the text is moved
                  outside. If "none", no text appears.
              textsrc
                  Sets the source reference on Chart Studio Cloud
                  for `text`.
              texttemplate
                  Template string used for rendering the
                  information text that appear on points. Note
                  that this will override `textinfo`. Variables
                  are inserted using %{variable}, for example "y:
                  %{y}". Numbers are formatted using d3-format's
                  syntax %{variable:d3-format}, for example
                  "Price: %{y:$.2f}". https://github.com/d3/d3-
                  format/tree/v1.4.5#d3-format for details on the
                  formatting syntax. Dates are formatted using
                  d3-time-format's syntax %{variable|d3-time-
                  format}, for example "Day: %{2019-01-01|%A}".
                  https://github.com/d3/d3-time-
                  format/tree/v2.2.3#locale_format for details on
                  the date formatting syntax. Every attributes
                  that can be specified per-point (the ones that
                  are `arrayOk: true`) are available. Finally,
                  the template string has access to variables
                  `label` and `value`.
              uid
                  Assign an id to this trace, Use this to provide
                  object constancy between traces during
                  animations and transitions.
              uirevision
                  Controls persistence of some user-driven
                  changes to the trace: `constraintrange` in
                  `parcoords` traces, as well as some `editable:
                  true` modifications such as `name` and
                  `colorbar.title`. Defaults to
                  `layout.uirevision`. Note that other user-
                  driven trace attribute changes are controlled
                  by `layout` attributes: `trace.visible` is
                  controlled by `layout.legend.uirevision`,
                  `selectedpoints` is controlled by
                  `layout.selectionrevision`, and
                  `colorbar.(x|y)` (accessible with `config:
                  {editable: true}`) is controlled by
                  `layout.editrevision`. Trace changes are
                  tracked by `uid`, which only falls back on
                  trace index if no `uid` is provided. So if your
                  app can add/remove traces before the end of the
                  `data` array, such that the same trace has a
                  different index, you can still preserve user-
                  driven changes if you give each trace a `uid`
                  that stays with it as it moves.
              unselected
                  :class:`plotly.graph_objects.histogram.Unselect
                  ed` instance or dict with compatible properties
              visible
                  Determines whether or not this trace is
                  visible. If "legendonly", the trace is not
                  drawn, but can appear as a legend item
                  (provided that the legend itself is visible).
              x
                  Sets the sample data to be binned on the x
                  axis.
              xaxis
                  Sets a reference between this trace's x
                  coordinates and a 2D cartesian x axis. If "x"
                  (the default value), the x coordinates refer to
                  `layout.xaxis`. If "x2", the x coordinates
                  refer to `layout.xaxis2`, and so on.
              xbins
                  :class:`plotly.graph_objects.histogram.XBins`
                  instance or dict with compatible properties
              xcalendar
                  Sets the calendar system to use with `x` date
                  data.
              xhoverformat
                  Sets the hover text formatting rulefor `x`
                  using d3 formatting mini-languages which are
                  very similar to those in Python. For numbers,
                  see: https://github.com/d3/d3-
                  format/tree/v1.4.5#d3-format. And for dates
                  see: https://github.com/d3/d3-time-
                  format/tree/v2.2.3#locale_format. We add two
                  items to d3's date formatter: "%h" for half of
                  the year as a decimal number as well as "%{n}f"
                  for fractional seconds with n digits. For
                  example, *2016-10-13 09:15:23.456* with
                  tickformat "%H~%M~%S.%2f" would display
                  *09~15~23.46*By default the values are
                  formatted using `xaxis.hoverformat`.
              xsrc
                  Sets the source reference on Chart Studio Cloud
                  for `x`.
              y
                  Sets the sample data to be binned on the y
                  axis.
              yaxis
                  Sets a reference between this trace's y
                  coordinates and a 2D cartesian y axis. If "y"
                  (the default value), the y coordinates refer to
                  `layout.yaxis`. If "y2", the y coordinates
                  refer to `layout.yaxis2`, and so on.
              ybins
                  :class:`plotly.graph_objects.histogram.YBins`
                  instance or dict with compatible properties
              ycalendar
                  Sets the calendar system to use with `y` date
                  data.
              yhoverformat
                  Sets the hover text formatting rulefor `y`
                  using d3 formatting mini-languages which are
                  very similar to those in Python. For numbers,
                  see: https://github.com/d3/d3-
                  format/tree/v1.4.5#d3-format. And for dates
                  see: https://github.com/d3/d3-time-
                  format/tree/v2.2.3#locale_format. We add two
                  items to d3's date formatter: "%h" for half of
                  the year as a decimal number as well as "%{n}f"
                  for fractional seconds with n digits. For
                  example, *2016-10-13 09:15:23.456* with
                  tickformat "%H~%M~%S.%2f" would display
                  *09~15~23.46*By default the values are
                  formatted using `yaxis.hoverformat`.
              ysrc
                  Sets the source reference on Chart Studio Cloud
                  for `y`.
  """,
          ),
          **kwargs,
      )
  
imports: import _plotly_utils.basevalidators
label_desc: Use image node_id 1 to create a new HistogramValidator object from inherited base classes: _plotly_utils.basevalidators with example: obj = HistogramValidator(plotly_name, parent_name)