The easiest way - is to display lineSeries with no markers and display two scatterSeries, where some data is not rendered on a chart.
VF:
<apex:chart height="400" width="700" data="{!data}">
<apex:axis type="Numeric" position="left" fields="data1" title="Lines" grid="true"/>
<apex:axis type="Category" position="bottom" fields="name" title="Month"/>
<apex:lineSeries axis="left" xField="name" yField="data1" markerType="circle"
markerSize="0" markerFill="#515151" strokeColor="515151"/>
<apex:scatterSeries axis="left" xField="name" yField="data2"
markerType="circle" markerSize="4" markerFill="#1919ff"/>
<apex:scatterSeries axis="left" xField="name" yField="data3"
markerType="circle" markerSize="4" markerFill="#B0171F"/>
</apex:chart>
Apex:
@RemoteAction
public static List<Data> getRemoteData() {
return ChartController.getChartData();
}
public static List<Data> getChartData() {
List<Data> data = new List<Data>();
data.add(new Data('Jan', 30, -10, 30));
data.add(new Data('Feb', 44, 44, -10));
data.add(new Data('Mar', 25, 25, -10));
data.add(new Data('Apr', 74, -10, 74));
return data;
}
You can populate your data in controller based on some condition. Chart will not display dots where Y-axis is -10.
I believe, there should be better solution with rendererFn, but its not ordinary