Presuming your question is not a trick question (presumption of innocence rules, and even if otherwise, I am writing for the benefit of visitors to this post), take care of the simulator report:
Warning: V0: no DC value, transient time 0 value used.
Ngspice User’s Manual Version 40, section 4.1 Independent Sources for Voltage or Current, informs users of the syntax used to describe a voltage source component
VXXXXXXX N + N - < DC / TRAN VALUE > < AC < ACMAG < ACPHASE > > >
+ < DISTOF1 < F1MAG < F1PHASE > > > < DISTOF2 < F2MAG < F2PHASE > > >
DC/TRAN is the dc and transient analysis value of the source. If the source value is zero both for dc and transient analyses, this value may be omitted. If the source value is time-invariant (e.g., a power supply), then the value may optionally be preceded by the letters DC.
When used without the DC token (as in
V0 N1 N2 15), the simulator computes the initial operating point for a zero-valued voltage source V0 and starts the transient analysis ramping the V0 voltage from zero to 15 V over a period of 0s. You see the initial transient of the kind at both plots. Only you can give details of your simulation to help answer the question why these transients are recurring with a two second interval; if it happens with a simple contiguous, unbroken transient analysis, ask ngspice maintainers about this phenomenon.
So, if you are sincerely at loss (sorry my precaution when giving this advice, I believe the related questions must have been discussed a few times in ngspice-related forums), try to add this DC token to the voltage source (as in
V0 N1 N2 DC 15), either via the netlist or through the user interface. The voltage/current jumps for a non-zero R12 simulation must go. As for a circuit where the ideal voltage source directly charges the ideal capacitor, its transient behavior (insolvability in the finite domain, surely so for non-zero voltage, but, because of finite numerical precision, even for zero voltage) is well known and does not depend on the simulator used.