Ask Your Question

Plotting histograms in calc? [closed]

asked 2013-01-30 16:19:24 +0200

PeterD gravatar image

I frequently have to plot frequency of occurrence of values using varying window sizes and it is frustrating apparently not to be able to do it in Calc without having to pre-process the data in some way. Does anyone have a solution? Is it a feature we can expect "real soon now"?

My dataset sizes can vary between a few objects up to hundreds and beyond and I need to be able to adjust the "bucket" size. In theory it should be straightforward... ;-)


PS I did actually write a Python program to do it, but it required exporting, reformatting etc etc before I even got to starting the plot.

edit retag flag offensive reopen merge delete

Closed for the following reason duplicate question by oweng
close date 2014-08-25 02:39:11.610130


Duplicate of this question.

oweng gravatar imageoweng ( 2014-08-25 02:38:55 +0200 )edit

oweng: Could you please provide a working link?

AlanD gravatar imageAlanD ( 2017-11-18 16:48:59 +0200 )edit

5 Answers

Sort by » oldest newest most voted

answered 2013-05-12 03:17:25 +0200

hotlix gravatar image

updated 2013-05-12 03:20:43 +0200

A histogram is basically a graph of frequencies vs. categories (i.e. ranges of values indicated by bins), so you could use the frequency() function provided. It's an "array" function, meaning you need to highlight the range of cells you want filled with the results. Here's a FAQ on this function.

Basically, you need to start with a column listing your data (e.g. scores on an exam?), a 2nd column with bins (e.g. 0, 10, 20, ..., 80, 90, 100), and a third column for frequencies. Highlight the cells in your frequency column (should be one less cells than your # bins, since the bins indicate the range for each category) and enter the formula as follows:


"data" are your data that you want a to create a histogram to describe. "classes" would be the bins you've chosen to specify the ranges for each category.

If you've entered the formula correctly you just need to plot the values it gave with a bar chart. It might take a bit of fooling around, but it works well, and it's a very effective way to make histograms of all types.

edit flag offensive delete link more

answered 2013-02-17 17:41:44 +0200

horst gravatar image

Check my answer in this question ( Could be a solution for you.

edit flag offensive delete link more

answered 2013-12-09 13:41:12 +0200

jondo gravatar image

The "array formula" FREQUENCY creates histogram data from unsorted raw values.

edit flag offensive delete link more

answered 2013-01-30 18:46:27 +0200

horst gravatar image

Read the answers in this question. Might help ;-)).

edit flag offensive delete link more


The link is broken

Aaron Digulla gravatar imageAaron Digulla ( 2015-05-27 21:32:46 +0200 )edit

Could you please update your answer with a working link?

AlanD gravatar imageAlanD ( 2017-11-18 16:48:35 +0200 )edit

answered 2013-02-01 00:05:14 +0200

PeterD gravatar image

Thx, but it doesn't really answer it. The problem is that data is in general unsorted, so that we need to be able to specify a column and have the algorithm first sort the data into as/descending order and within each bucket (ie selected plotting interval) count the number of occurences. The results should be offered as a simple column histogram chart. It's the first step that the current package fails to offer. it ought to be straightforward; the parameters are column containing data and bucket width.

edit flag offensive delete link more


PeterD, this should have better been a comment to an answer (which one?) instead of a separate new answer.

jondo gravatar imagejondo ( 2013-12-09 13:43:00 +0200 )edit

Question Tools

1 follower


Asked: 2013-01-30 16:19:24 +0200

Seen: 75,275 times

Last updated: Dec 09 '13