flexible graph plotting