I have data aggregated as a histogram
$$ (m_1, c_1), (m_2, c_2), \dots, (m_k, c_k) $$
where $m_1 < m_2 < \dots < m_k$ are the midpoints of the histogram bins and $c_i$ are the counts that sum to the total number of the raw datapoints $\sum_i c_i = N$. The count $c_i$ is for the points within the $[m_i-d, m_i+d)$ range. The histogram bins are evenly spaced, so $m_i + 2d = m_{i+1}$.
Such histogram can be used to create a weighted kernel density
$$ f(x) = \sum_i w_i K_h(x - m_i) $$
with weights $w_i = c_i / \sum_j c_j$. The problem is finding appropriate bandwidth $h$ for the kernel $K_h$. What would be the most promising way of doing this?
How would the answer change if instead of a histogram I had an approximate histogram? In the approximate case, $m_i$ are the bin averages, but they are not evenly spaced. The bins do not have clear-cut boundaries† and the $c_i$ counts are proportional to the number of points surrounding the $m_i$ centers.
Given the imprecise and approximate nature of such data, I would be perfectly fine with a decent rule of thumb for bandwidth selection. My main aim is possibly the least-misleading way of visualizing the histogram.
† By approximate histogram with non-clear cut boundaries I mean, for example, a histogram created by taking multiple histograms as described in the first section and then merging them. This could be done by combining the closest bins between the histograms, where in different histograms the bins are centered on different values. In such a case, we would be averaging bins covering different ranges, so the averaged histogram would not have exact boundaries.