Plotar pontos aleatórios em coordenadas esféricas, sorteando valores para os ângulos phi e theta

Estou querendo demonstrar em python usando matplotlib, que nas coordenadas esféricas sortear valores aleatórios para o ângulo theta não torna a distribuição de pontos homogênea. O que deveria ser feito para garantir a homogeneidade da distribuição é sortear o arco cosseno de theta. Minha dificuldade é mais com a disposição gráfica.