in src/visual.ts [617:663]
private static parseSettings(
dataView: DataView,
colorHelper: ColorHelper,
): HistogramSettings {
const settings: HistogramSettings = HistogramSettings.parse<HistogramSettings>(dataView);
const displayName: string = (dataView
&& dataView.metadata
&& dataView.metadata.columns
&& dataView.metadata.columns[0]
&& dataView.metadata.columns[0].displayName
) || null;
let bins: number = Math.round(settings.general.bins);
if (displayName) {
settings.general.displayName = displayName;
}
if (isNaN(bins) || bins <= HistogramGeneralSettings.MinNumberOfBins) {
bins = HistogramGeneralSettings.DefaultBins;
} else if (bins > HistogramGeneralSettings.MaxNumberOfBins) {
bins = HistogramGeneralSettings.MaxNumberOfBins;
}
settings.general.bins = bins;
settings.dataPoint.fill = colorHelper.getHighContrastColor("foreground", settings.dataPoint.fill);
settings.xAxis.precision = Visual.getPrecision(settings.xAxis.precision);
settings.xAxis.axisColor = colorHelper.getHighContrastColor("foreground", settings.xAxis.axisColor);
settings.xAxis.strokeColor = colorHelper.getHighContrastColor("foreground", settings.xAxis.strokeColor);
settings.yAxis.precision = Visual.getPrecision(settings.yAxis.precision);
settings.yAxis.axisColor = colorHelper.getHighContrastColor("foreground", settings.yAxis.axisColor);
settings.yAxis.strokeColor = colorHelper.getHighContrastColor("foreground", settings.yAxis.strokeColor);
settings.labels.precision = Visual.getPrecision(settings.labels.precision);
settings.labels.color = colorHelper.getHighContrastColor("foreground", settings.labels.color);
settings.general.displayName = Visual.GET_LEGEND_TEXT_WITH_UNITS(
settings.general.displayName,
settings.xAxis.style,
settings.xAxis.displayUnits
);
return settings;
}