当前位置: 首页 > article >正文

可能是最强的Python可视化神器,建议一试

 数据分析离不开数据可视化,我们最常用的就是PandasMatplotlibPyecharts当然还有Tableau,看到一篇文章介绍Plotly制图后我也跃跃欲试,查看了相关资料开始尝试用它制图。

Plotly

Plotly是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。

而且还是支持在线编辑,以及多种语言PythonJavascriptMatlabR等许多API

它在Python中使用也很简单,直接用Pip Install Plotly就可以了。

推荐最好在Jupyter notebook中使用,Pycharm操作不是很方便。

使用Plotly可以画出很多媲美Tableau的高质量图:

Plotly制图

我尝试做了折线图、散点图和直方图,首先导入库:

from plotly.graph_objs import Scatter,Layout

import plotly

import plotly.offline as py

import numpy as np

import plotly.graph_objs as go

#setting offilne 离线模式

plotly.offline.init_notebook_mode(connected=True)

上面几行代码主要是引用一些库,Plotly有在线和离线两种模式,在线模式需要有账号可以云编辑。

我选用的离线模式,Plotly设置为Offline模式就可以直接在Notebook里面显示了。

制作折线图

N = 100

random_x = np.linspace(0,1,N)

random_y0 = np.random.randn(N)+5

random_y1 = np.random.randn(N)

random_y2 = np.random.randn(N)-5



#Create traces

trace0 = go.Scatter(

    x = random_x,

    y = random_y0,

    mode = 'markers',

    name = 'markers'

)

trace1 = go.Scatter(

    x = random_x,

    y = random_y1,

    mode = 'lines+markers',

    name = 'lines+markers'

)

trace2 = go.Scatter(

    x = random_x,

    y = random_y2,

    mode = 'lines',

    name = 'lines'

)

data = [trace0,trace1,trace2]

py.iplot(data)

折线图

随机设置4个参数,一个x轴的数字和三个y轴的随机数据,制作出三种不同类型的图。

Trace0MarkersTrace1LinesMarkersTrace3Lines

然后把三种图放在Data这个列表里面,调用py.iplot(data)即可。绘制的图片系统默认配色也挺好看的~

制作散点图

trace1 = go.Scatter(

     y = np.random.randn(500),

    mode = 'markers',

    marker = dict(

        size = 16,

        color = np.random.randn(500),

        colorscale = 'Viridis',

        showscale = True

    )

)

data = [trace1]

py.iplot(data)

Mode设置为Markers就是散点图,然后Marker里面设置一组参数,比如颜色的随机范围,散点的大小,还有图例等等。

散点图

直方图

trace0 = go.Bar(

    x = ['Jan','Feb','Mar','Apr', 'May','Jun',

         'Jul','Aug','Sep','Oct','Nov','Dec'],

    y = [20,14,25,16,18,22,19,15,12,16,14,17],

    name = 'Primary Product',

    marker=dict(

        color = 'rgb(49,130,189)'

    )

)

trace1 = go.Bar(

    x = ['Jan','Feb','Mar','Apr', 'May','Jun',

         'Jul','Aug','Sep','Oct','Nov','Dec'],

    y = [19,14,22,14,16,19,15,14,10,12,12,16],

    name = 'Secondary Product',

    marker=dict(

        color = 'rgb(204,204,204)'

    )

)

data = [trace0,trace1]

py.iplot(data)

直方图

直方图是我们比较常用的一种图形,Plotly绘制直方图的方式跟我们在Pandas里面设置的有点类似,它们非常直观的体现了不同月份两个生产力之间的差异。

上面的制图只是Plotly的冰山一角,都是一些最基本的用法,它还有很多很酷的用法和图形,尤其是跟Pandas结合画的图非常漂亮。

比如一些股票的K线图,大家有兴趣可以研究研究~

< END >


http://www.kler.cn/a/14729.html

相关文章:

  • @Retryable一个 Spring 注解轻松搞定循环重试功能!
  • 大孔树脂型号,A-722,ADS500,ADS600,ADS750,ADS800
  • ThinkPHP6 实现分页和分页样式
  • 如何使用OpenGL来绘制一个圆角矩形
  • 2023蓝桥杯省模拟赛附近最小
  • 你真的使用过低代码产品吗?
  • 事件抽取:Document-level Event Extraction via Parallel Prediction Networks
  • 牛客网刷题总结
  • JDBC重点
  • 大数据之Hadoop分布式计算框架MapReduce
  • ChatGPT 克隆方案,开源了!开箱即用
  • 如何在项目中使用不同版本的包?
  • CentOS----本地YUM源配置
  • OSCP-AuthBy(Server 2008提权)
  • Matlab 牛顿迭代法(1)牛顿法
  • 使用buildroot编译完整系统【IMX6ULLPRO】
  • 个人APP开发者必备!直客预算助力APP变现高效策略
  • Go 1.21新特性前瞻
  • Redis入门学习笔记【一】
  • 用好Python自然语言工具包-- 实例“基于本地知识库的自动问答”