Is there a way to pass many arguments and not have an ugly url? I'm writing a module that displays graphs based on a selection of arguments (an array with items to display, a daterange and some other stuff). This results in a long and ugly url.

Is there a way to get the arguments to the page with the graphs without putting everything in the url for that page? I'm looking for something that can keep temporary variables with a short reference that I can pass in the url, but haven't been able to find anything.

I'm using Drupal 7.
You could use form submission or cookies to store values, but neither of these are a particularity good ideas. 

I would recommend (if you don't like the URL showing) using AJAX to retrieve/update the graph. You still have the ugly url but you hide it inside the ajax request. 

So your module displays

/mypath

but the request could be

/mymodule/displaygraph/x/as/32432/s///