normed - plot histogram python
Histograma circular para Python (1)
Partiendo de matplotlib.org/examples/pie_and_polar_charts/… ejemplo de la galería, puedes hacer
import numpy as np
import matplotlib.pyplot as plt
N = 80
bottom = 8
max_height = 4
theta = np.linspace(0.0, 2 * np.pi, N, endpoint=False)
radii = max_height*np.random.rand(N)
width = (2*np.pi) / N
ax = plt.subplot(111, polar=True)
bars = ax.bar(theta, radii, width=width, bottom=bottom)
# Use custom colors and opacity
for r, bar in zip(radii, bars):
bar.set_facecolor(plt.cm.jet(r / 10.))
bar.set_alpha(0.8)
plt.show()
Por supuesto, hay muchas variaciones y tweeks, pero esto debería ayudarte a comenzar.
En general, navegar por la galería matplotlib suele ser un buen lugar para comenzar.
Aquí, utilicé la palabra clave bottom
para dejar el centro vacío, porque creo que vi una pregunta anterior con un gráfico más parecido al que tengo, así que supongo que eso es lo que quieres. Para obtener las cuñas completas que muestra arriba, simplemente use bottom=0
(o omita, ya que 0
es el valor predeterminado).
Tengo datos periódicos y la distribución se ve mejor alrededor de un círculo. Ahora la pregunta es ¿cómo puedo hacer esta visualización usando matplotlib? Si no, ¿se puede hacer fácilmente en Python?
Mi código aquí demostrará una aproximación aproximada de distribución alrededor de un círculo:
from matplotlib import pyplot as plt
import numpy as np
#generatin random data
a=np.random.uniform(low=0,high=2*np.pi,size=50)
#real circle
b=np.linspace(0,2*np.pi,1000)
a=sorted(a)
plt.plot(np.sin(a)*0.5,np.cos(a)*0.5)
plt.plot(np.sin(b),np.cos(b))
plt.show()
Hay algunos ejemplos en una pregunta sobre SX para Mathematica :