微信公众号:尤而小屋
作者:Peter
编辑:Peter

一文爱上高级可视化神器Plotly

数据可视化已经逐渐发展和深入到我们生活的各个方面,往往遇到数据分析类的工作,借助可视化的方式来呈现我们的数据和结论,能够帮助我们更好地理解数据本身的含义和背后隐藏的规律。

数据通常是以图形或者图表的形式进行展示,例如Excel表格、柱状图、折线图、饼图、旭日图等。

现在出现了很多可视化的工具能够实现数据图表的可视化展示,比如Tableau、Power BI等;和python相关的第三方可视化库也数不胜数,比如很传统和基础的matplotlib、pyecharts、Seaborn,还比如D3、Highcharts等。它们有着自己或多或少的使用缺陷:

  • 绘制出来的图形是静态的:无法实现动态可视化
  • 部分软件需要付费才能使用;否则只能使用部分基础功能
  • 有些可视化库涉及到很多前端JavaScript、HTML的知识,上手比较困难
  • 配置麻烦:简单的图形也需要大量的代码进行配置

Plotly简介

Plotly是一款用来做数据分析和可视化的在线平台,功能真的是非常强大,它主要有以下特点:

  1. 图形多样化:在线绘制多种图形,比如柱状图、饼图、直方图、饼图、气泡图、桑基图、股票图、旭日图、联合分布图、地图等
  2. 在线可编辑:Plotly中有在线编辑的平台,可以将生成的图形保存到该平台,并进行分享
  3. 开源免费:Plotly的所有资源都是开源免费的,用户可直接使用,还可以直接和R、python、MATLAB等软件或者语言无缝对接
  4. 图形动态化:Plotly生成的图形全部是动态化;Plotly的绘图最好在Jupyter notebook中进行,能够很好地显示动态效果
  5. 颜色绚丽:在使用Plotly绘制图形的时候,我们可以进行图形颜色的设置,Plotly提供了丰富的颜色面板供选择
  6. 代码量少:Plotly绘图,尤其是Plotly的高级封装Plotly_Express,代码量非常少;一行代码就能实现多种功能且精美的图形
  7. 内置丰富数据集:在Plotly中内置7个不同类型的数据集,方便读者直接使用内置数据进行学习、使用
  8. 文档健全: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 goimport 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 pxdf = px.data.iris()fig = px.scatter_3d(df,  # 指定数据x='sepal_length',  # 指定xyzy='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 goname = ['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 gomonths = ['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 goyears = ['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 gosubjects = ["语文","数学","英语","物理","化学","生物"]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 gofig = go.Figure(go.Funnel(x=[1000,800,400,100],y=["浏览网站","加购","点击支付","支付成功"]
))fig.show()

还可以给漏斗图改变颜色,只需要加上颜色参数color

# 加上颜色参数colorfig = 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 gostage = ["浏览网站","加购","点击支付","支付成功"]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 goname=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、Peachcolor_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、tangentialinsidetextorientation='horizontal'
)fig.show()

5、甜甜圈图的绘制

甜甜圈图指的是饼图的中间出现了一个空洞部分:

import plotly.graph_objects as golabels = ['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 golabels = ['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,最外层是sexvalues='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_2002px.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---countryvalues='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的使用,希望能够对读者有所帮助,也希望读者能够爱上这个高级可视化神器。

高级可视化神器Plotly快速入门相关推荐

  1. python数据可视化神器--pyecharts 快速入门

    前言 本文首发于本人公众号[Python编程与实战] 我们都知道python上的一款可视化工具 matplotlib , 但是它是静态的.后来发现了 pyecharts 模块,简直好用到不行,可视化类 ...

  2. 酷炫!可视化神器Plotly玩转饼图

    酷炫!可视化神器Plotly玩转饼图 之前发表过两篇关于Plotly的文章: 入门篇:酷炫!36张图爱上高级可视化神器Plotly_Express 散点图:酷炫!可视化神器Plotly玩转散点图 Pl ...

  3. 可视化神器Plotly玩转箱形图

    可视化神器Plotly玩转箱形图 在之前的文章中介绍过如何使用Plotly绘制柱状图.饼图.散点图等,都是比较常用的可视化图表呈现方式.本文介绍的是利用Plotly绘制统计图形中的一种:箱型图. 扩展 ...

  4. 可视化神器Plotly美化表格

    公众号:尤而小屋 作者:Peter 编辑:Peter 可视化神器Plotly美化表格 有时候看到一份表格,没有任何的颜色修饰,总觉得缺点美观效果.在Excel中我们可以直接对字体的颜色.大小等进行设置 ...

  5. 可视化神器Plotly玩转股票图

    可视化神器Plotly玩转股票图 本文是可视化神器Plotly绘图的第7篇,讲解的是如何通过Plotly来绘制与股市相关的图形,比如基础K线图.OHLC图等. 温馨提示⚠️:**股市有风险,投资需谨慎 ...

  6. 可视化神器Plotly玩转甘特图

    微信公众号:尤而小屋 作者:Peter 编辑:Peter 可视化神器Plotly玩转甘特图 本文介绍的是一种特殊的柱状图:甘特图,虽然在实际工作中使用的几率较小,还是很有必要和兴趣来学习下,将制作过程 ...

  7. 可视化神器Plotly玩转柱状图

    可视化神器Plotly玩转柱状图 本文是可视化神器Plotly绘图的第5篇:重点讲解如何利用Plotly绘制柱状图.柱状图在可视化图中是出现频率非常高的一种图表,能够很直观地展现数据的大小分布情况,在 ...

  8. 可视化神器Plotly玩转多子图绘制

    公众号:尤而小屋 作者:Peter 编辑:Peter 可视化神器Plotly玩转多子图绘制 大家好,我是Peter~ 很长时间没有Plotly绘图的文章,之前已经介绍如何绘制柱状图.饼图.小提琴图.桑 ...

  9. Python 可视化神器--Plotly

    文 | 潮汐 来源:Python 技术「ID: pythonall」 学习Python是做数分析的最基础的一步,数据分析离不开数据可视化.Python第三方库中我们最常用的可视化库是 pandas,m ...

最新文章

  1. 2021年春季学期-信号与系统-第十二次作业参考答案
  2. HTML基础笔记-02
  3. 029_自己实现一个HashMap
  4. python bs4模块_python爬虫之Beautifulsoup模块用法详解
  5. 数字电视制播设备间的文件交换格式
  6. hdu 3836 Equivalent Sets
  7. mpandroidchart组合图_使用MpAndroidChart组合图,如何将图表分成上下两部分?
  8. PKI世界中两个知名的情侣 Alice和Bob
  9. [dpdk] 熟悉SDK与初步使用 (二)(skeleton源码分析)
  10. 勒索病毒自救在线工具
  11. 【Fusion】Mosek.Fusion基础
  12. ajax请求406,SpringMVC ajax请求406 错误解决方案
  13. C# amr转mp3 (ffmpeg)
  14. M个苹果放N个篮子,篮子可以为空,有多少种放法?
  15. 微信小程序开发中,图片报403问题(图片加载失败)解决办法
  16. ORA-12801: error signaled in parallel query server PZ99分析
  17. 关于timestamp时间范围
  18. 高中信息技术python及答案_高中信息技术《Python语言》模块试卷.docx
  19. Ubuntu1804安装CUDA与CUDNN
  20. 02、ADS使用记录之导入各类仿真模型导入

热门文章

  1. 安卓手机游戏的识别码设计思路
  2. 1-二分之一加三分之一减四分之一c语言,用c语言编程序1减二分之一加三分之一一直到减一百分之一的值...
  3. jQuery easyUI布局(Layout)与手风琴(Accordion)
  4. OPPO推送服务客户端SDK接入
  5. 哈工程和哈工大被 MathWorks 禁止使用 MATLAB
  6. 高精度+高效率:NAS的发展趋势【VALSE Webinar】Panel实录
  7. python static方法_浅谈python 类方法/静态方法
  8. C#开源的信号处理库NWaves
  9. python 生成ppt 比例_如何用Python将PDF转化为PPT
  10. 计算机考研英语参考书,考研英语词汇参考书推荐