August 6th, 2021
I never thought that I’d be roasting software from Apple, as they have always maintained the highest standards of user-friendliness, but I have come across a problem so striking that it deserves documentation.
The task is ridiculously simple. I’ve been taking data on blood glucose levels and blood pressure, and I’d like to chart how they change with time. This was in fact one of the first applications of spreadsheets. I don’t know if VisiCalc could actually display charts, but I know that this feature was common in the 1980s. Indeed, charting values by date was surely one of the earliest uses of spreadsheets. I remember doing it frequently with early spreadsheets.
So I expected no trouble when I set out to do this on Numbers, the Apple spreadsheet for Macintosh. Here’s my first table of data:
Simple enough, right? So all I have to do is select all five columns and select the chart from the menu, like so:
Again, this is trivially simple to do. I select the scatter chart — right column, fifth item down. And this is what I get:
Huh? What’s going on here? The X-axis should be the date, but it’s not. What’s wrong here? By clicking on the green “Edit Data References” button, the display changes to show this version of the table:
The program decided to ignore the first column (Date) and instead use the second column (Glucose) for the X-Axis. This even though I explicitly specified the Date column as the first column, and therefore the source for the X-Axis. And it could not be because the program couldn’t figure out the meaning of the Date column: I entered the date values with this menu command:
Clearly, the program knew perfectly well what that first column means. Yet it still refused to do what I wanted.
At this point, I decided to get some help. I tried out the Help feature in Numbers. It was of no use. So I searched the Internet using the words Mac Numbers chart by date. This got plenty of hits, and they looked promising. The first hit was a question in the discussion area of Apple Communities, entitled "Set Date and Time as the x axis in Numbers”. A thorough answer was provided, but unfortunately it included provisions for graphing with both data and time on the X-axis. I was able to deduce from the answer that there are TWO formats for date and time, the alphabetic form that the software automatically inserted (“Aug 4, 2021”) and a numeric format (21/8/4). Since I didn’t want to engage in another research expedition to figure out how to convert from alphabetic to numeric format, I did it by hand, producing this table:
The program decided to be an asshole and kept changing the format. Where I keyed in “21/08/04”, it transformed that to “8/4/21”. But for some reason it insisted on reformatting the FIRST row to “0021/8/4”!!!! I played around with it, but was unable to get it to be consistent. Apple must have a sadistic programmer on its staff.
As you might imagine, this refused to graph properly. But then I noticed the oddity that the second column (Numeric) was gray, indicating that it is a “header column” rather than a “non-header column”. Apparently this tells the program to treat the contents of the column differently. OK, so I tried again, creating the second column in a way that would make it a “non-header column”. Then I entered the data by hand. Behold! The chart worked this time.
I carried out one more test: I used the “Insert Current Date” menu command in the second column, and sure enough, the program refused to graph the data properly. Thus, the core problem is that the nitwits at Apple created a helpful feature (“Insert Current Date”) that ruins any attempt to graph the data.
Addendum January 3rd, 2022
I made a similar attempt to graph the data in another spreadsheet and ran into the same problem again. Apple Numbers has come up with a truly obscure user interface for graphing values. In past times, I was able to get good graphs out of Numbers, but apparently they have improved the program so much that it is now impossible to graph data — unless, of course, you already know the magic words required to make it happen.