My son and I got interested in what the I-vs-V curves looked like for RGB LEDs—in particular, the common-anode ones that were used for the first fabrication run of the Kinetic microlights. At least, we think that the package of LEDs was the same as those used for the Kinetics—they weren’t labeled and record-keeping for prototyping parts has not been particularly good. In any event, the LEDs should be fairly typical of super-cheap RGB LEDs from China.
I used a 47Ω resistor from a cathode (R, G, or B) to ground, and hooked up my FG085 function generator to the anode and ground (with a 470µF capacitor in parallel, to smooth out the steps). In order to measure the anode voltage, I had to divide it down by a factor of 2, using a pair of 6.8kΩ resistors.
Each plot was done for several cycles of a triangle wave having a period of 22s. There is pretty good consistency from one cycle to the next, but substantial hysteresis in the green LED. The red and blue LEDs also have hysteresis (visible for both red and blue when I zoom in using gnuplot, but barely visible for blue in the PNG file).
The hysteresis is almost certainly a thermal effect—the threshold shifts when the LED is warm. The green LED when up the right-hand curve, and down the left-hand curve, suggesting that warming the LED lowers the forward voltage for a given current.