Actually, you're not going to use a GraphicObject, which is for handling images. You need to use a ChartObject. However, there doesn't seem to be a property available so that you can set the type of chart at runtime.
One option to simulate this would be to create a chart of each type that you want to have available to the user. Stack them up so that they all start at the same position and suppress ALL of them. I would also give each of them a meaningful name like Bar_Chart, Pie_Chart, etc. so that they're easier to find in your code. Then, in your code, set the ChartObject.ObjectFormat.EnableSuppress to false for the chart the user has selected.
-Dell