Plugin Directory

Test out the new Plugin Directory and let us know what you think.
!This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Plot Over Time - Extended

Uses the Google Chart Tools API for charting data. Supports two optional components of multiple charts per page and category restrictions!

I have used Plot Over Time for a long time when found that I needed to put multiple charts on one page and category restrictions. The plugin did not allow it. I am insistent on not needing a new plugin - as this one has worked just fine for me… So, I made changes.

My first change is small in user effort, but large in execution... I added an optional parameter for chart_num. This optional parameter is not needed if you are using the plugin for a single chart page. It is only needed to identify what chart you are making on a multi-chart page...

Single chart on a page...

[plot_ext field1="Heart Rate"]

Multi-Chart page...

[plot_ext field1="Heart Rate" chart_num="1"]
[plot_ext field1="Blood Pressure" chart_num="2"]

Want to see it in action? http://www.ourroadtohealth.com/index.php/data-collection/total-blood-pressure/

My second change... I added an optional parameter for post category restriction. This optional parameter is not needed if you are pulling from all post categories. It is only needed to identify what 1 post category you want to limit the data to...

Single chart on a page with category selection...

[plot_ext field1="Heart Rate" post_cat="8"]

Let's Get Started:

1. To get it up and running: first, you'll need to put data in your posts. So, in a post, go to the section under your post called "Custom Fields". Create a field you want to track (for instance, "Heart Rate") and give it a value.

2. You'll need at lest two posts with data in them before the plugin can do it's thing - so add data to another post.

3. Now that you have at least two posts with data, you can create a post that creates a graph. For this example, you could simply use:

[plot_ext field1="Heart Rate"]

This will go through all posts that have a custom field called "Heart Rate" and plot them on a nice Google Chart Tools LineChart. Plot Over Time - Extended supports up to 10 fields per graph. If you wanted to work with more points of data (again, up to 10), simply add more Custom Fields:

[plot_ext field1="Heart Rate" field2="Weight" field3="Workout Time"]

The legend is automatically added, and each datapoint is able to be clicked to get a callout about it's datapoint. Or you can move the legend around with legend="left" or legend="right". If you want to get rid of the legend:

[plot_ext field1="Heart Rate" legend="none"]

Types: Valid types chart types for Plot Over Time are: AreaChart, LineChart, PieChart (not particularly useful in this implementation), BarChart, and ColumnChart. To use other types of graphs:

[plot_ext field1="Heart Rate" type="BarChart"]

Height / Width: You can set your own width and height for the chart with Width and Height (default: 400 X 300). Don't change the height or width using the options="height: ", instead use height="300" or similar. Changing it in the options that are passed to the graph won't change the size of the div it exists in.

[plot_ext field1="Heart Rate" width="500" height="300"] 

Data Limits: By default, Plot Over Time uses ALL data from all posts and pops it onto a graph. You can limit it with two options:

1. You can determine the maximum number of days worth of data (starting from now and going backward) with maxdays. This would show a one month span of data:

[plot_ext field1="Heart Rate" maxdays="30"]

2. You can attach a graph to that post's published date with usepostdate:

[plot_ext field1="Heart Rate" usepostdate="true"]

So if the post was 3 weeks old, it would only show data from it's publication date of three weeks ago and older - this allows you to see changes post by post!

Dates: The date format defaults to m/d/y - IE, 12/31/11. You can change it with dateformat. This would instead put 2011-12-31 on the graph:

[plot_ext field1="Heart Rate" dateformat="Y-m-d"]

Titles: This would add a title above your graph that reads "My Graph!".

[plot_ext field1="Heart Rate" options="'title': 'My Graph!'" chart_num="1"]

Wrapping Up: Don't like the colors of the graph, or want to add a few new options? No problem - any Google Visualization Tools options is available using the option parameters.

More Info: For more information on the options available visit the Google Chart Tools homepage: http://code.google.com/apis/chart/index.html


1. If you define 5 fields you want to read from, and a post only had four fields? It's going to ignore you.

2. It doesn't do data interpolation. If there's a gap in your data, it simply ignores it - it doesn't give it a "0", it just plain doesn't plot it. (That's how he wanted it. Other opinions may differ - mine does not.)

3. f you tell it you want to see 30 days of data, and you've only got three days of data in your posts? It's only going to show a graph that spans three days.

All data integrity is up to you.

If you download, please rate the plugin. This is one of the few feedback methods available. If you have a low opinion, please allow me to try to fix it first before leaving a bad review.

Requires: 3.0 or higher
Compatible up to: 3.9.15
Last Updated: 2 years ago
Active Installs: 20+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.