我想使用python创建像上面一样的可视化。我有时间序列数据。我已经在可视化下面创建了。如何使它看起来像上图?
fig=plt.figure(figsize=(15,8))
ax=fig.gca(projection='polar')
datastamp=pd.DataFrame()
datastamp['time']=pd.date_range(start=filtered_eda.index[0],periods=len(rec),freq='125L')
datastamp['EDA']=rec
datastamp=datastamp.set_index('time')
data_for_plotting=datastamp
first_record=data_for_plotting.index.min()
origin=first_record
data_for_plotting['deg']=((data_for_plotting.index-origin)/np.timedelta64(1,'h'))/6
ticks=np.linspace(data_for_plotting['deg'].min(),data_for_plotting['deg'].max(),data_for_plotting.shape[0])
theta=2 * np.pi * ticks
r= data_for_plotting['EDA']
ndist=data_for_plotting['EDA']/data_for_plotting['EDA'].max()
color=plt.cm.get_cmap('viridis_r')(ndist)
ax.scatter(theta, r,color=color, linewidth=2, linestyle='solid')
#ax.fill(theta,r,color='black')
ax.set_theta_zero_location("N")
ax.set_theta_direction(-1)
ax.set_xticks(np.linspace(0,2*np.pi,6,endpoint=False))
norm = mpl.colors.Normalize(vmin=data_for_plotting.EDA.min(), vmax=data_for_plotting.EDA.max())
sm = plt.cm.ScalarMappable(cmap="viridis_r", norm=norm)
sm.set_array([])
plt.colorbar(sm, ticks=np.linspace(data_for_plotting.EDA.min(), data_for_plotting.EDA.max(), 1), label="EDA", ax=ax)
ax.grid(True)
plt.show()
上面的代码给了我以下输出。 polar graph1