高级可视化神器Plotly玩转散点图
之前介绍过一篇文章介绍酷炫!36张图爱上高级可视化神器Plotly_Express,文章中大量介绍了基于plotly绘制的各种图形,例子多而不精彩。本文开始将会详细介绍基于Plotly绘制的各种图形,Plotly绘图中主要是两个模块:
- plotly_express,简写为px
- plotly.graph_objects,简写为go
本文介绍的是如何绘制散点图和折线图,折线图可以说是散点图的一种极限情况
效果
看一个例子的效果:
导入库
1 | import pandas as pd |
基础散点图
自定义数据
这种散点图应该是最基础的,直接传入x和y的值
1 | fig = px.scatter(x=[0,2,4,6], |
传入DataFrame型数据
1 | fig = px.scatter(df, # 数据集 |
同时我们可以传入改变散点颜色和大小的参数:color和size
1、指定颜色
1 | fig = px.scatter(df, # 数据集 |
2、指定大小
1 | fig = px.scatter(df, # 数据集 |
3、同时指定颜色和大小
1 | gap = px.data.gapminder().query("year == 2002") |
散点图显示数据
有时候我们需要将数据显示在每个散点附近:
1 | x_data = [0,2,4,6,8] |
绘制线型图
显示图形为:
使用plotly自带的数据集:
1 | df = px.data.carshare() |
1 | gapm = px.data.gapminder().query("continent == 'Oceania'") |
基于go.Scatter绘制散点图
上面介绍的都是基于px来绘制散点图,下面介绍的是如何利用go.Scatter绘制散点图:
基础散点图
1 | import plotly.graph_objects as go |
多个散点图
适合对多组数据进行比较
1 | import plotly.graph_objects as go |
冒泡散点图
冒泡散点图是通过每个散点的大小来决定的:
1 | fig = go.Figure(data=go.Scatter( |
自定义散点颜色
1 | import plotly.graph_objects as go |
设置渐变颜色
1 | import plotly.graph_objects as go |
大量数据散点图
当数据量比较大的时候,散点图会显得非常密集:
1、案例1
1 | import numpy as np |
2、案例2
1 | import plotly.graph_objects as go |
random.uniform()
函数的用法:
3D散点图
介绍两种3D散点图:
- 基于px的3D散点图
- 基于go的3D散点图
基于plotly_express
1、案例1
1 | import plotly.express as px |
2、案例2
1 | import plotly.express as px |
基于go.Figure
1、案例1
1 | import plotly.graph_objects as go |
2、案例2
1 | import plotly.graph_objects as go |