Each poison tick deals 0.1% of the enemy’s max HP as damage, it stacks infinitely, and multiple Pokémon can add stacks without any issues.
The problem is that, graphically, the damage is only attributed to the Pokémon that applied the most recent poison.
So if Arbok applies 10 poison stacks and Zapdos loses 1% of its HP per second, that damage is credited to Arbok in the graph. However, when Weezing lands a hit, it adds a single 0.1% stack, and from that point on the full 1.1% damage per second is credited entirely to Weezing, with none attributed to Arbok.
Sorry, since it is not an accurate representation in the damage graph and can be confusing, I wasn’t able to program it in a realistic way.
It’s the only “trick” in the damage graphs, all other damage and status effects should be 100% accurate.