Я могу получить цветной ListLinePlot, сделав что-то вроде
ListLinePlot[Range[420, 680, 20], ColorFunction -> "VisibleSpectrum", ColorFunctionScaling -> False]

Однако, как указано в файле справки ( "ColorFunction требует, чтобы хотя бы один набор данных был Joined" ), если я делаю эквивалентный
ListPlot[Range[420, 680, 20], ColorFunction -> "VisibleSpectrum", ColorFunctionScaling -> False]

все мои очки голубые. Есть ли хороший способ получить ColorFunction для работы ListPlot с помощью Joined -> False?
То есть, есть ли лучший способ получить что-то вроде
ListPlot[
List /@ Transpose[{Range[(680 - 420)/20 + 1], Range[420, 680, 20]}],
PlotMarkers -> ({Graphics[{#, Disk[]}], 0.05} & /@ ColorData["VisibleSpectrum"] /@ Range[420, 680, 20])
]
?

(Кроме того, есть ли у кого-нибудь объяснение, почему Mathematica требует Joined -> True, чтобы использовать ColorFunction?)
Изменить: я также ищу способ сделать подобную раскраску с помощью ErrorListPlot в пакете ErrorBarPlots.



