Dynamic chart generation