高级可视化神器Plotly快速入门
数据可视化已经逐渐发展和深入到我们生活的各个方面,往往遇到数据分析类的工作,借助可视化的方式来呈现我们的数据和结论,能够帮助我们更好地理解数据本身的含义和背后隐藏的规律。
数据通常是以图形或者图表的形式进行展示,例如Excel表格、柱状图、折线图、饼图、旭日图等。
现在出现了很多可视化的工具能够实现数据图表的可视化展示,比如Tableau、Power BI等;和python相关的第三方可视化库也数不胜数,比如很传统和基础的matplotlib、pyecharts、Seaborn,还比如D3、Highcharts等。它们有着自己或多或少的使用缺陷:
-
绘制出来的图形是静态的:无法实现动态可视化 -
部分软件需要付费才能使用;否则只能使用部分基础功能 -
有些可视化库涉及到很多前端JavaScript、HTML的知识,上手比较困难 -
配置麻烦:简单的图形也需要大量的代码进行配置
Plotly简介
Plotly是一款用来做数据分析和可视化的在线平台,功能真的是非常强大,它主要有以下特点:
-
图形多样化:在线绘制多种图形,比如柱状图、饼图、直方图、饼图、气泡图、桑基图、股票图、旭日图、联合分布图、地图等 -
在线可编辑:Plotly中有在线编辑的平台,可以将生成的图形保存到该平台,并进行分享 -
开源免费:Plotly的所有资源都是开源免费的,用户可直接使用,还可以直接和R、python、MATLAB等软件或者语言无缝对接 -
图形动态化:Plotly生成的图形全部是动态化;Plotly的绘图最好在Jupyter notebook中进行,能够很好地显示动态效果 -
颜色绚丽:在使用Plotly绘制图形的时候,我们可以进行图形颜色的设置,Plotly提供了丰富的颜色面板供选择 -
代码量少:Plotly绘图,尤其是Plotly的高级封装Plotly_Express,代码量非常少;一行代码就能实现多种功能且精美的图形 -
内置丰富数据集:在Plotly中内置7个不同类型的数据集,方便读者直接使用内置数据进行学习、使用 -
文档健全:Plotly官方提供了丰富的文档资料和案例可免费学习,能够快速的上手
附录:在官网中展示了Plotly能够绘制的部分图形:https://plotly.com/python/
安装和使用
可视化库Plotly及子库的安装非常简单,只需要通过两条命令:
pip install plotly
pip install plotly_express # 安装
使用之前先导入:
# 两种绘图接口
import plotly_express as px # import plotly.express as px
import plotly.graph_objects as go
上面介绍了两种Plotly中绘图的接口:
-
plotly_express:通常简写为px -
plotly.graph_objects:通常简写为go
内置数据集
在Plotly中内置了非常多的数据集,当我们导入了之后可以直接使用:
1、内置GDP数据集
gapminder = px.data.gapminder()
gapminder.head() # 查看前5行数据
2、餐厅消费的数据集
tips = px.data.tips()
tips.head()
3、数据领域非常著名的鸢尾花数据集
iris = px.data.iris()
iris.head()
4、一份风力数据集
wind = px.data.wind()
wind.head()
5、选举结果数据集
election = px.data.election()
election.head() # 显示前5行数据
上面只列出了Plotly中的部分数据集,下面的导图记录了全部的内置数据作用及其相应的字段,可供用户免费使用,非常友好:
Plotly绘图
上面介绍了可视化和Plotly的相关知识,下面将通过各种实际的案例来讲解如何利用Plotly绘制相关的可视化图形。
所有的图像在Jupyter notebook中都是动态可视化,本文采取的是截图方式来展示可视化结果。
基础散点图
1、绘制基础的散点图,如果是直接传入两个轴的数据,需要2个参数:
fig = px.scatter( # scatter绘制散点图
x=[0,2,4,6], # x轴
y=[1,3,5,7] # y轴
)
fig.show()
2、如果是使用pandas中的数据库DataFrame来绘制图像:
df = px.data.iris() # 鸢尾花数据集
df.head()
fig = px.scatter(
df, # 数据集
x="sepal_width", # x轴
y="sepal_length" # y轴
)
fig.show()
3、还可以传入一个颜色参数color,可以选择字符型或者数据型:
-
字符型数据
fig = px.scatter(
df, # 数据集
x="sepal_width", # x轴
y="sepal_length", # y轴
color="species", # 指定颜色:字符型数据
)
fig.show()
-
数值型数据
fig = px.scatter(
df, # 数据集
x="sepal_width", # x轴
y="sepal_length", # y轴
color="sepal_length" # 指定颜色
)
fig.show()
4、传入size参数控制每个点的大小,相当于是在制作气泡图
gap = px.data.gapminder().query("year == 2002")
fig = px.scatter(
gap # 绘图数据
,x="gdpPercap" # x轴
,y="lifeExp" # y轴
,color="continent" # 颜色参数
,size="pop" # 点的大小
,size_max=60 # 点的最大值
)
fig.show()
5、散点图中显示每个点的数据
x_data = [0,2,4,6,8]
y_data = [1,3,5,7,9]
fig = px.scatter(x=x_data,
y=y_data,
color=x_data, # 颜色设置
text=x_data # 显示内容
)
fig.update_traces(textposition="top center") # 显示位置:顶部居中
fig.show()
6、绘制折线图:折线图可以理解成散点图的一种极限形式,下面例子中使用go方法实现
import plotly.graph_objects as go
import numpy as np
np.random.seed(1)
# 生成随机数据
N = 200
random_x = np.linspace(0, 1, N)
random_y0 = np.random.randn(N) + 10
random_y1 = np.random.randn(N)
random_y2 = np.random.randn(N) - 10
# 准备画布
fig = go.Figure()
# 添加3组不同的数据
fig.add_trace(go.Scatter( #
x=random_x,
y=random_y0,
mode='lines', # mode模式
name='lines')) # 名字
fig.add_trace(go.Scatter(
x=random_x,
y=random_y1,
mode='lines+markers',
name='lines+markers'))
fig.add_trace(go.Scatter(
x=random_x,
y=random_y2,
mode='markers',
name='markers'))
fig.show()
7、绘制3D散点图
import plotly.express as px
df = px.data.iris()
fig = px.scatter_3d(
df, # 指定数据
x='sepal_length', # 指定xyz
y='sepal_width',
z='petal_width',
color='species') # 指定颜色
fig1.show()
绘制柱状图
1、基础柱状图
自行模拟一份数据集:
df1 = pd.DataFrame({
"name": ["小明","小红","周明","周红","张三"],
"age": [20,28,18,25,36],
"score": ["150","170","160","168","154"]
})
df1
fig = px.bar(
df1, # 绘图数据
x="name", # x轴
y="age" # y轴
)
fig.show()
2、加上改变颜色的参数color
fig = px.bar(
df1,
x="name",
y="age",
color="age" # 颜色参数
)
fig.show()
3、设置图中的悬停信息
悬停信息指的是:当我们光标放到图形上去才会显示的信息
第一种是基于px方法实现的悬停信息:
fig = px.bar(
df1,
x="name",
y="age",
color="age", # 加上颜色参数
hover_data = ['score'] # 悬停参数
)
fig.show()
第二种是基于go方法实现的悬停信息:
import plotly.graph_objects as go
name = ['Product A', 'Product B', 'Product C']
number = [1200, 1500, 1300]
fig = go.Figure(data=[go.Bar(x=name,
y=number,
hovertext=['20% 市场份额 ', '50% 市场份额', '30% 市场份额'])])
fig.update_traces(marker_color='rgb(15,110,225)', # marker颜色
marker_line_color='rgb(108,48,107)', # 线条颜色
marker_line_width=1.5, # 线宽
opacity=0.6) # 透明度
fig.update_layout(title_text='3种产品市场份额对比')
fig.show()
4、x轴标签倾斜设置
模拟一份新的数据:
information = pd.DataFrame({
"days":["2021年3月1日 星期一",
"2021年3月2日 星期二",
"2021年3月3日 星期三",
"2021年3月4日 星期四",
"2021年3月5日 星期五"],
"number":[400,700,300,500,800]
})
information
默认情况下x轴标签是水平显示:
fig = px.bar(
information,
x="days",
y="number")
fig.show() # 默认水平显示
fig = px.bar(
information,
x="days",
y="number")
fig.update_layout(xaxis_tickangle=-45) # 倾斜角度设置
fig.show() # 结果是向左倾斜
基于go方法实现的x轴标签倾斜:
import plotly.graph_objects as go
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
# 生成画布对象
fig = go.Figure()
# 添加多个图形轨迹
fig.add_trace(go.Bar(
x=months,
y=[20, 14, 25, 16, 18, 22, 19, 15, 12, 16, 14, 17],
name='产品A',
marker_color='lightblue' # 颜色的不同表示方法
))
fig.add_trace(go.Bar(
x=months,
y=[19, 14, 22, 14, 16, 19, 15, 14, 10, 12, 12, 16],
name='产品B',
marker_color='#af0110'
))
fig.update_layout(barmode='group', # 柱状图模式
xaxis_tickangle=-45 # 倾斜角度
)
fig.show()
5、分组柱状图
第一种情况是基于长表形式的分组柱状图:
df2 = pd.DataFrame({
"姓名": ["小明","小红","张三","小明","小红","张三","小明","小红","张三"],
"科目":["语文","语文","语文","数学","数学","数学","英语","英语","英语"],
"得分": [58,78,84,90,71,90,64,84,69]
})
df2
fig = px.bar(
df2,
x="姓名",
y="得分",
color="科目")
fig.show()
第二种情况是基于宽表形式的分组柱状图:
df3 = pd.DataFrame({
"姓名": ["小明","小红","张三"],
"语文":[58,78,84],
"数学":[90,71,90],
"英语":[64,84,69]
})
df3
fig = px.bar(
df3,
x="姓名",
y=["语文","数学","英语"],
title="学生成绩对比" # 添加标题
)
fig.show()
6、多面柱状图
使用的是Plotly中自带的餐厅消费数据集:
fig = px.bar(
df4, # 带绘图数据
x="sex", # x轴
y="total_bill", # y轴
color="smoker", # 颜色的设置
barmode="group", # 柱状图4种模式之一
facet_row="time", # 行
facet_col="day", # 列
category_orders={
"day": ["Thur", "Fri", "Sat", "Sun"],
"time": ["Lunch", "Dinner"] # 分类顺序设置
}
)
fig.show()
7、改变柱状图基准位置
import plotly.graph_objects as go
years = ['2017','2019','2021']
fig = go.Figure()
fig.add_trace(go.Bar(
x=years,
y=[2000, 3000, 5000],
base=[-2000,-3000,-5000], # 基准位置设置
marker_color='crimson',
name='商家A'))
fig.add_trace(go.Bar(
x=years,
y=[3000, 4000, 2000],
base=0, # 默认的基准设置
marker_color='lightslategrey',
name='商家B'
))
fig.show()
8、改变图例位置和颜色
有时候我们需要改变图例的颜色和位置,进行如下设置:
import plotly.graph_objects as go
subjects = ["语文","数学","英语","物理","化学","生物"]
fig = go.Figure()
fig.add_trace(go.Bar(
x=subjects, # x轴、y轴数据
y=[90,85,78,90,99,80],
name='周均', # 图例名称
marker_color='rgb(15, 83, 109)' # 该组数据颜色
))
fig.add_trace(go.Bar(
x=subjects,
y=[80,89,68,100,78,90],
name='小明',
marker_color='rgb(180, 118, 255)'
))
fig.update_layout(
title='期末成绩对比情况', # 整个图的标题
xaxis_tickfont_size=12, # x轴字体大小
yaxis=dict(
title='成绩', # y轴的标题
titlefont_size=16, # 标题大小
tickfont_size=6, # y轴上的数值大小
),
legend=dict(
x=0, # 图例的位置
y=1,
# bgcolor='rgba(255, 255, 255, 0)', # 图例的背景色
bordercolor='rgba(112, 255, 255, 0)' # 边缘颜色
),
barmode='group', # 柱状图模式
bargap=0.5, # 组间距离
bargroupgap=0.4 # 组内距离
)
fig.show()
绘制水平柱状图
1、基于px实现水平柱状图,加上参数orientation='h'
df1 = pd.DataFrame({
"name": ["小明","小红","周明","周红","张三"],
"age": [20,28,18,25,36],
"score": ["150","170","160","168","154"]
})
df1
fig = px.bar(
df1,
y="name", # xy轴的数据需要交换
x="age",
orientation='h', # 水平柱状图
text="age" # 需要显示的数据
)
# 设置文本显示的位置,默认是里面
# fig.update_traces(textposition="outside") # ['inside', 'outside', 'auto', 'none']
fig.show()
2、改变柱状图颜色
第一种方法是使用颜色参数color
fig = px.bar(
df1,
y="name",
x="age",
color="age", # 颜色参数
orientation='h', # 水平柱状图
text="age"
)
fig.update_traces(textposition="outside") # ['inside', 'outside', 'auto', 'none']
fig.show()
第二种情况是自定义颜色
fig = px.bar(
df1,
y="name",
x="age",
# color="age",
# 自定义颜色
color_discrete_sequence=px.colors.diverging.RdBu,
orientation='h', # 水平柱状图
text="age"
)
fig.update_traces(textposition="outside") # ['inside', 'outside', 'auto', 'none']
fig.show()
3、基于go方法实现
fig = go.Figure(go.Bar(
x=df1["score"].tolist(), # x轴数据
y=df1["name"].tolist(), # y轴数据
orientation='h'))
fig.show()
4、分组水平柱状图
import plotly.graph_objects as go
# 生成画布
fig = go.Figure()
# 添加3个图形轨迹
fig.add_trace(go.Bar(
y=['小明', '小红', '张三'],
x=[120, 74, 103],
name='语文',
orientation='h',
marker=dict(
color='rgba(246, 78, 139, 0.6)',
line=dict(color='rgba(246, 78, 139, 1.0)', width=3)
)
))
fig.add_trace(go.Bar(
y=['小明', '小红', '张三'],
x=[92, 128, 89],
name='数学',
orientation='h',
marker=dict(
color='rgba(5, 71, 80, 0.6)',
line=dict(color='rgba(58, 71, 80, 1.0)', width=3)
)
))
fig.add_trace(go.Bar(
y=['小明', '小红', '张三'],
x=[92, 78, 69],
name='英语',
orientation='h',
marker=dict(
color='rgba(18, 7, 80, 0.6)',
line=dict(color='rgba(58, 71, 80, 1.0)', width=3)
)
))
fig.update_layout(barmode='stack') # 堆叠模式:['stack', 'group', 'overlay', 'relative']
fig.show()
绘制漏斗图
漏斗图在电商销售领域使用的非常普遍,它能够明显地观察到不同阶段之间的转化效果,下面通过不同的例子来讲解漏斗图的制作。
1、普通漏斗图
自行模拟一份数据:
data1 = pd.DataFrame({
"number": [1200,900,700,400,180,100],
"stage": ["浏览网站","搜索","加购","提交订单","点击支付","支付成功"]}
)
data1
# 绘图
fig = px.funnel(
data1, # 绘图数据
x="number", # x轴数据
y="stage" # y轴数据
)
fig.show()
通过go方法来实现基础漏斗图:
from plotly import graph_objects as go
fig = go.Figure(go.Funnel(
x=[1000,800,400,100],
y=["浏览网站","加购","点击支付","支付成功"]
))
fig.show()
还可以给漏斗图改变颜色,只需要加上颜色参数color
# 加上颜色参数color
fig = px.funnel(
data1[::-1], # 数据翻转
x="number",
y="stage",
color="stage" # 改成stage
)
fig.show()
2、分组漏斗组的展示
将不同组别的漏斗图放在一个大的画布中,我们生成2020年3月份和2021年3月份的数据,绘制分组漏斗图:
# 2020年3月数据
stage=["浏览网站","加购","点击支付","支付成功"]
df1 = pd.DataFrame(dict(
number=[1000,800,400,100],
stages=stage
))
df1["time"] = "2020年3月"
df1
# 2021年3月份
stage=["浏览网站","加购","点击支付","支付成功"]
df2 = pd.DataFrame(dict(
number=[1200,600,300,140],
stages=stage
))
df2["time"] = "2021年3月"
df2
上面生成了两个月份的不同数据,现在通过concat函数进行数据的合并:
# 将两组数据合并
df3 = pd.concat([df1, df2], axis=0)
df3
最后通过funnel()方法来绘图:
# 绘图
fig = px.funnel(df3,x="number",y="stages",color="time")
fig.show()
3、通过go方法来实现分组漏斗
from plotly import graph_objects as go
stage = ["浏览网站","加购","点击支付","支付成功"]
fig = go.Figure()
fig.add_trace(go.Funnel(
name = "2020年3月", # 图形轨迹名称
x = [1000,800,400,200], # 数据
y = stage, # 每个阶段名称
orientation = "h", # 方位
textposition = "inside", # 文本内容的位置
textinfo = "value+percent previous" # 显示文本内容
))
fig.add_trace(go.Funnel(
name = "2021年2月", # 名称和数据需要改变
x = [1200,900,500,240],
y = stage,
orientation = "h",
textposition = "inside",
textinfo = "value+percent total"
))
fig.add_trace(go.Funnel(
name = "2021年3月", # 名称和数据需要改变
x = [1500,1000,450,300],
y = stage,
orientation = "h",
textposition = "inside",
textinfo = "label+percent initial"
))
fig.show()
绘制饼图
饼图在可视化图表中是一种非常常见的图,它能够很好地展示不同组别的占比情况,下面通过具体的案例来绘制不同需求的饼图。
1、基础饼图的绘制
模拟一份水果店的进货数量的数据,如下表:
fruit = pd.DataFrame({
"name":["苹果","香蕉","梨","菠萝","葡萄"],
"number":[1000,800,600,2000,2500]
})
fruit
fig = px.pie(
fruit, # 绘图数据
names="name", # 显示的名称
values="number" # 显示的数据
)
fig.show()
基于go方法实现基础饼图:
import plotly.graph_objects as go
name=fruit["name"].tolist()
value=fruit["number"].tolist()
fig = go.Figure(
data=[go.Pie(
labels=name, # 标签
values=value # 显示数据
)]
)
fig.show()
结果和上面的图形相同
2、给饼图添加标题,并改变位置
fig = px.pie(
fruit,
names="name",
values="number"
)
fig.update_layout(
title={ # 设置整个标题的名称和位置
"text":"水果数量占比", # 标题
"y":0.96, # 通过4个参数控制标题位置
"x":0.5,
"xanchor":"center",
"yanchor":"top"
}
)
fig.show()
3、改变饼图颜色
上面绘制的饼图是默认的颜色,我们可以对颜色进行设置
第一种是加上颜色参数color:
fig = px.pie(
fruit,
names="name",
values="number",
color="number" # 颜色参数
)
fig.show()
第二种是通过参数color_discrete_sequence
:
fig = px.pie(
fruit,
names="name",
values="number",
# 不同颜色:RdBu、Peach
color_discrete_sequence=px.colors.sequential.Plotly3 # Plotly3可以变成不同颜色
)
fig.show()
第三种是通过字典的形式来设置颜色:
fig = px.pie(
fruit,
names="name",
values="number",
color="name",
color_discrete_map={ # 下面是通过字典形式来设置每个分组的颜色
'葡萄':'lightcyan',
'菠萝':'cyan',
'苹果':'royablue',
'香蕉':'darkblue',
'梨':'red'}
)
fig.show()
4、饼图文本信息设置
fig = px.pie(
fruit,
names="name",
values="number"
)
fig.update_traces(
# 文本显示的4种位置:['inside', 'outside', 'auto', 'none']
textposition='inside',
# percent、label、value的组合或者单独出现
textinfo='percent+label',
# 文本信息的3种朝向:horizontal(默认)、radial、tangential
insidetextorientation='horizontal'
)
fig.show()
5、甜甜圈图的绘制
甜甜圈图指的是饼图的中间出现了一个空洞部分:
import plotly.graph_objects as go
labels = ['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen']
values = [3000, 1500, 1000, 2500]
fig = go.Figure(data=[go.Pie(
labels=labels,
values=values,
hole=.4 # 空洞的比例大小
)])
fig.show()
6、剥离扇形区域
import plotly.graph_objects as go
labels = ['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen']
values = [3000, 1000, 4000, 2500]
fig = go.Figure(data=[go.Pie(
labels=labels,
values=values,
pull=[0.3,0.1,0,0] # 设置脱离参数
)])
fig.show()
7、旭日图的制作
我们以Plotly中自带的tips消费数据来绘制旭日图:
fig = px.sunburst(
tips,
path=['day','time','sex'], # 最里层是day,中间是time,最外层是sex
values='total_bill'
)
fig.show()
给旭日图设置颜色:
df = px.data.tips()
fig = px.sunburst(
df,
path=['time', 'sex', 'day'], # 从最里层到最外层
values='total_bill', # 数据
color='day' # 颜色
)
fig.show()
绘制面积图
使用的是Plotly中自带的gdp数据集:
# area 图
px.area(
gapminder, # 数据集
x="year", # xy轴的数据
y="pop",
color="continent", # 颜色
line_group="country" # 线型分组
)
绘制直方图
px.histogram(
tips, # 绘图数据
x="sex", # 指定两个数轴
y="tip",
histfunc="avg", # 直方图函数:均值
color="smoker", # 颜色取值
barmode="group", # 柱状图模式
facet_row="time", # 横纵纵轴的字段设置
facet_col="day",
category_orders={"day":["Thur","Fri","Sat","Sun"], # 分类
"time":["Lunch","Dinner"]})
联合分布图
联合分布图是将多个不同类型的图形放置在一个大的画布中,比如我们使用鸢尾花数据集绘制联合分布图:
px.scatter(
iris,
x="sepal_width",
y="sepal_length",
color="species",
marginal_x="histogram",
marginal_y="rug"
)
绘制散点矩阵图
散点矩阵图是将多个散点图并排显示,同时显示不同指标之间的关系:
使用Plotly中自带的iris数据集:
px.scatter_matrix(
iris, # 绘图数据
dimensions=["sepal_width","sepal_length","petal_width","petal_length"], # 不同的指标
color="species" # 颜色
)
绘制密度图
第一种是绘制密度热力图:
px.density_heatmap(
iris,
x="sepal_width",
y="sepal_length",
marginal_y="rug",
marginal_x="histogram" # 在密度图的基础上,指定另外两种图形
)
第二种是绘制等值线图:
px.density_contour(
iris, # 传入绘图数据
x="sepal_width", # 指定xy轴
y="sepal_length",
color="species", # 颜色设置
marginal_x="rug", # 需要传入边缘图形
marginal_y="histogram"
)
绘制并行分类图
使用的是餐厅消费数据tips
px.parallel_categories(
tips, # 传入数据
color="size", # 颜色取值
color_continuous_scale=px.colors.sequential.Inferno # 颜色变化趋势
)
绘制地图图形
第一种方法是通过px.choropleth
:
px.choropleth(
gapminder, # 绘图数据
locations="iso_alpha", # 位置
color="lifeExp", # 颜色
hover_name="country", # 悬停信息
animation_frame="year", # 播放按钮设置
color_continuous_scale=px.colors.sequential.Plasma, # 颜色连续变化
projection="natural earth" # 地图选择
)
第二种方法是通过line_geo
实现:
gapminder = px.data.gapminder()
# gapminder_2002 = gapminder.query("year==2002")
gapminder_2002 = gapminder[gapminder["year"] == 2002]
gapminder_2002
px.line_geo(
gapminder_2002,
locations="iso_alpha",
color="continent",
projection="orthographic")
绘制矩阵式树状图
# 选取2002年数据
gapminder_2002 = gapminder[gapminder["year"] == 2002]
px.treemap(
gapminder_2002, # 数据
path=[px.Constant('world'), 'continent', 'country'], # 绘图路径:world---continent---country
values='pop', # 数据取值
color='pop', # 颜色取值
hover_data=['iso_alpha']) # 显示数据:国家简称
绘制散点极坐标图
使用的是Plotly中自带的风力wind数据集:
px.scatter_polar(
wind, # 数据集
r="frequency", # 半径
theta="direction", # 角度
color="strength", # 颜色
symbol="strength", # 符号
color_discrete_sequence=px.colors.sequential.Plasma_r) # 颜色
改变图形的背景主题再绘制一次:
fig = px.bar_polar(
wind, # 数据集
r="frequency", # 半径
theta="direction", # 角度
color="strength", # 颜色
template="plotly_dark", # 主题
color_discrete_sequence=px.colors.sequential.Plasma_r) # 颜色
fig.show()
颜色面板
Plotly中内置了多种颜色面板可供用户使用,颜色可任意选择,下面进行介绍:
顺序色标系列
渐变的颜色系列,适用于大多数连续数据进行绘图:
px.colors.sequential.swatches()
定性色标系列
该系列的颜色是离散型的,每个子颜色都不相同或者相近,适用于没有自然顺序的数据进行绘图:
px.colors.qualitative.swatches()
分散色标系列
适合于具有自然中点的连续数据,色系会出现突变:
px.colors.diverging.swatches()
周期性色标系列
该色标系列适用于具有自然周期结构的连续数据
px.colors.cyclical.swatches()
ColorBrewer2系列
px.colors.colorbrewer.swatches()
CMOcean系列
px.colors.cmocean.swatches()
卡通主题系列
这是一个卡通系列的颜色面板,颜色是渐变型的
px.colors.carto.swatches()
总结
本文着重讲解了一个新的高级可视化神器:Plotly。从其特点、安装、内置数据集、各种精美图表制作案例介绍、颜色面板等,详细地介绍了Plotly的使用,希望能够对读者有所帮助,也希望读者能够爱上这个高级可视化神器。