必威体育Betway必威体育官网
当前位置:首页 > IT技术

python绘制风向玫瑰图和污染物玫瑰图

时间:2019-09-09 00:40:00来源:IT技术作者:seo实验室小编阅读:85次「手机版」
 

风向玫瑰图

风向玫瑰图和污染物玫瑰图是很漂亮的数据可视化展现方式,我们今天花点时间来进行一下实践。

我们先不使用第三方包来进行绘制,具体如下:

def simplePloter():
    '''
    不适用包,简单绘制
    '''
    N=100
    theta=np.linspace(0.0,2*np.pi,N,endpoint=False)
    radii=10*np.random.rand(N)
    width=np.pi/4*np.random.rand(N)
    ax=plt.subplot(111, projection='polar')
    bars=ax.bar(theta,radii,width=width,bottom=0.0)
    for r, bar in zip(radii,bars):
        bar.set_facecolor(plt.cm.jet(r/10.))
        bar.set_alpha(0.8)
    plt.savefig('simplePloter_windrose.png') 
    plt.show()

结果如下:

                                         

  调整N值变小如下:

                               

可以看出来还是很漂亮的哈,网上已经有开源的模块windrose可以很方便地实现玫瑰图的绘制,这里我们也来使用一下,GitHub地址在这里,最新的文档在这里,官网中展示了很多漂亮的demo如下:

                                     

                                        

 具体实践调用如下:


def plotPollutionRoseDemo(value,speed,direction,save_path='demo.png'):
    '''
    np.random.random(500) 产生的是0~1之间的数,相当于归一化处理了
    '''
    ax=WindroseAxes.from_ax()
    ax.bar(direction,value,normed=True,opening=0.8,edgecolor='white')
    #ax.bar(direction,speed,normed=True,opening=0.8,edgecolor='white')
    #wrscatter(direction,value, ax=ax, rmax=None)
    ax.set_legend()
    plt.savefig(save_path)

以PM2.5数据为例,绘制污染物玫瑰图如下所示:

                    

这个还是很到位的,通过颜色的色阶来区分不同的等级区间。

借用echarts的极坐标堆叠柱状图也可以绘制出来类似的效果只不过暂时没有找到如何对不同区间的浓度值设定不同的颜色的方法,这里贴一下echarts的模板在这里。效果图如下:

                 

对比之下还是觉得自己画得更美观一点,欢迎指点哈。

相关阅读

最大回撤率与夏普比率-Python

最大回撤率 在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值。最大回撤用来描述买入产品后可能出

Python的知识点 plt.plot()函数细节

1、plt.plot(x,y,format_string,**kwargs) 转自点击打开链接x轴数据,y轴数据,format_string控制曲线的格式字串 format_string 由

Python爬虫--实现图片验证码全自动输入

爬虫--实现图片验证码全自动输入 爬取网站:豆瓣(https://accounts.douban.com/login) 爬虫思路:1. 使用selenium, 对图片验证码进行

Python读取cfg文件

  [mysql] HOST = 127.0.0.1 PORT = 3306 USER = root PWD = 123456789 DB = employees CHARSET = utf8 [redis] # #redis配

程序员的我是如何抢票的(Python)

马上就要回家过年了,你的票买好了吗。虽然我不用抢票,但是还是研究了一下怎么抢票。程序员嘛,就是要对一切问题进行解构,探索原理本质

分享到:

栏目导航

推荐阅读

热门阅读