[Edit: new answer, old one doesn't work (yet?)]
The LineChart connects points based on adjacency in the DataTable, not adjacency in value, so you can rearrange your data to have nulls where you need them, and avoid them where you do not:
data.addRows([
// set annotations
[2008, ' ', null, null],
[2008.5, ' ', null, null],
[2009, ' ', null, null],
[2009.5, ' ', null, null],
[2010, ' ', null, null],
[2010.5, ' ', null, null],
[2011, ' ', null, null],
// "Val 1" should be connected with a line, so we don't want this to have any null gaps
[2008, null, 20, null],
[2009, null, 25, null],
[2010, null, 30, null],
[2011, null, 23, null],
// the last two points on "Val 2" should be connected, but not the first
[2008, null, null, 15],
[null, null, null, null], // this line of nulls will break the connection between the first and second data points
[2010, null, null, 33],
[2011, null, null, 38],
]);
See working example: http://jsfiddle.net/asgallant/LXkee/
[old answer, for reference]
You can set interpolateNulls
on a series-by-series basis, using the series.<series index>.interpolateNulls
option:
series: {
0: {
type: "line",
interpolateNulls: true
},
1: {
type: "line"
}
}