MCPcopy Create free account
hub / github.com/spotify/chartify / kde

Method kde

chartify/_core/plot.py:786–834  ·  view source on GitHub ↗

Kernel Density Estimate Plot. Args: data_frame (pandas.DataFrame): Data source for the plot. values_column (str): Column of numeric values. color_column (str, optional): Column name to group by on the color dimension. color_ord

(self, data_frame, values_column, color_column=None, color_order=None)

Source from the content-addressed store, hash-verified

784 return self._chart
785
786 def kde(self, data_frame, values_column, color_column=None, color_order=None):
787 """Kernel Density Estimate Plot.
788
789 Args:
790 data_frame (pandas.DataFrame): Data source for the plot.
791 values_column (str): Column of numeric values.
792 color_column (str, optional): Column name to group by on
793 the color dimension.
794 color_order (list, optional): List of values within the
795 'color_column' for specific sorting of the colors.
796 """
797 # Vertical is unused since the logic is handled
798 # by the area chart
799 # vertical = self._chart.axes._vertical
800
801 if color_column is not None:
802 color_values = sorted(data_frame[color_column].unique())
803 else:
804 color_values = [None]
805
806 data = pd.DataFrame()
807 for color_value in color_values:
808 if color_column is None: # Single line
809 sliced_data = data_frame
810 else:
811 sliced_data = data_frame[data_frame[color_column] == color_value]
812 values = sliced_data[values_column]
813
814 kde = gaussian_kde(values)
815 index = np.linspace(values.min(), values.max(), 300)
816 kde_pdf = kde.evaluate(index)
817 data = pd.concat(
818 [data, pd.DataFrame({"x": index, "y": kde_pdf, "color": color_value})],
819 axis=0,
820 )
821
822 color_column = "color" if color_column is not None else None
823
824 PlotNumericXY.area(
825 self,
826 data,
827 "x",
828 "y",
829 color_column=color_column,
830 color_order=color_values,
831 stacked=False,
832 )
833
834 return self._chart
835
836
837class PlotDensityXY(BasePlot):

Callers 2

_kde_exampleFunction · 0.80
_kde_example2Function · 0.80

Calls 1

areaMethod · 0.45

Tested by

no test coverage detected