plotly绘图——散点图

一、介绍

plotly是一个易于使用,功能强大的python绘图库,用于构建可交互式的图表(可以自行运行后使用鼠标拖拽图片试试),本系列文章将介绍plotly绘制各种类型图的方法,本文将介绍——散点图

plotly库一般会在安装python时自行安装,如果出现找不到库的提示

在命令行中运行

pip install plotly

即可

二、简单散点图的绘制

单变量

这个数据只有一对函数关系,即x和y,以下是简单散点图的绘制方法

  • 先导入plotly库
  • 再创建一个fig画布
  • 最后使用show方法显示
import plotly.express as px
fig = px.scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16])
fig.show()

在这里插入图片描述

多变量

此数据图数据为经典的鸢尾花数据集,有三类数据关系,分别为三种不同种类的鸢尾花的,花萼长宽,花瓣长宽,示例以花瓣的长宽作为y,x

  • 先导入plotly库
  • 再创建数据集(此处为鸢尾花数据集)
import plotly.express as px
df = px.data.iris() # 此数据的结构为pandas的Dataframe
fig = px.scatter(df, x="sepal_width", y="sepal_length")
fig.show()

在这里插入图片描述

三、为数据添加颜色辨识

按species分类

此示例中,不同种类的花的颜色不同

  • 本示例的主要不同在于scatter方法的参数:color="species"这一参数代表以species来划分不同的颜色
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
                 size='petal_length', hover_data=['petal_width'])
fig.show()

四、按pedal width分类

此示例中,数据的颜色由花瓣的长度决定

  • 观察color参数,下图换成了以花瓣长度来划分颜色
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color='petal_length')
fig.show()

在这里插入图片描述

五、分面散点图

使用这种方法可以在图上绘制多个指标

  • 通过设置facet_col=“sex”, facet_row="time"参数来设置多个指标,用于在图上显示更多信息
import plotly.express as px
df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", color="smoker", facet_col="sex", facet_row="time")
fig.show()

在这里插入图片描述

六、设置悬停时的数据标签

  • 该示例使用了网上的美国各州人口数据集
  • 尝试运行一下,鼠标放在数据点上后会出现标签
import plotly.graph_objects as go
import pandas as pd

data= pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv")

fig = go.Figure(data=go.Scatter(x=data['Postal'],
                                y=data['Population'],
                                mode='markers',
                                marker_color=data['Population'],
                                text=data['State'])) # hover text goes here

fig.update_layout(title='Population of USA States')
fig.show()

在这里插入图片描述

七、散点图的趋势线

plotly也支持绘制散点图的趋势线,方便观察数据的走向

  • 主要参数为 trendline=“ols”
import plotly.express as px

df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", trendline="ols")
fig.show()

在这里插入图片描述

代码总结

  • import plotly.express as px是导入库
  • fig = px.scatter(df, x=“total_bill”, y=“tip”)是创建散点图的关键代码,参数一般是数据,各种散点图变化等
  • fig.show()是绘制散点图
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值