使用 Python 进行数据可视化之Plotly

? 作者主页:海拥
? 作者简介:?CSDN全栈领域优质创作者、?HDZ核心组成员、?蝉联C站周榜前十
? 粉丝福利:粉丝群 每周送四本书,每月送各种小礼品(搪瓷杯、抱枕、鼠标垫、马克杯等)

直接跳到末尾 去评论区领书

上一篇文章我们介绍了 Bokeh,接下来让我们继续我们列表的第四个库。这是我们列表中的最后一个库,您可能想知道为什么用Plotly。以下就是它的优点——

  • Potly 具有悬停工具功能,使我们能够检测众多数据点中的任何异常值或异常情况。
  • 它允许更多的定制。
  • 它使图形在视觉上更具吸引力。

安装

要安装它,请在终端中输入以下命令。

pip install plotly

image.png

散点图

散点图中Plotly可以使用被创建scatter()plotly.express的方法。和 Seaborn 一样,这里也需要一个额外的数据参数。

例子:

import plotly.express as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")

# 绘制散点图
fig = px.scatter(data, x="day", y="tip", color='sex')

# 显示plot
fig.show()

输出:

image.png

折线图

Plotly 中的折线图看起来比较直观,并且是 plotly 的杰出合并,它管理各种类型的数据并组装易于样式的统计数据。使用px.line 将每个数据位置表示为一个顶点

例子:

import plotly.express as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")

# 绘制散点图
fig = px.line(data, y='tip', color='sex')

# 显示plot
fig.show()

image.png

条形图

Plotly 中的条形图可以使用 plotly.express 类的 bar() 方法创建。

例子:

import plotly.express as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")

# 绘制散点图
fig = px.bar(data, x='day', y='tip', color='sex')

# 显示情节
fig.show()

输出:

image.png

直方图

在plotly,直方图可以使用plotly.express类的histogram()函数创建。

例子:

import plotly.express as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")

# 绘制散点图
fig = px.histogram(data, x='total_bill', color='sex')

# 显示 plot
fig.show()

输出:

image.png

添加交互

就像 Bokeh 一样,plotly 也提供了各种交互。让我们讨论其中的几个。

创建下拉菜单:下拉菜单是菜单按钮的一部分,始终显示在屏幕上。每个菜单按钮都与一个菜单小部件相关联,该小部件可以在单击该菜单按钮时显示该菜单按钮的选项。在 plotly 中,有 4 种可能的方法可以使用 updatemenu 方法来修改图表。

  • restyle: 修改数据或数据属性
  • relayout: 修改布局属性
  • update: 修改数据和布局属性
  • animate: 开始或暂停动画

例子:

import plotly.graph_objects as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")


plot = px.Figure(data=[px.Scatter(
	x=data['day'],
	y=data['tip'],
	mode='markers',)
])

# 添加下拉菜单
plot.update_layout(
	updatemenus=[
		dict(
			buttons=list([
				dict(
					args=["type", "scatter"],
					label="Scatter Plot",
					method="restyle"
				),
				dict(
					args=["type", "bar"],
					label="Bar Chart",
					method="restyle"
				)
			]),
			direction="down",
		),
	]
)

plot.show()

输出:

dropdownplotly.gif

添加按钮: 在 plotly 中,动作自定义按钮用于直接从记录中快速制作动作。自定义按钮可以添加到 CRM、营销和自定义应用程序中的页面布局。还有 4 种可能的方法可以应用于自定义按钮:

  • restyle: 修改数据或数据属性
  • relayout: 修改布局属性
  • update: 修改数据和布局属性
  • animate: 开始或暂停动画

例子:

import plotly.graph_objects as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")


plot = px.Figure(data=[px.Scatter(
	x=data['day'],
	y=data['tip'],
	mode='markers',)
])

# 添加下拉菜单
plot.update_layout(
	updatemenus=[
		dict(
			type="buttons",
			direction="left",
			buttons=list([
				dict(
					args=["type", "scatter"],
					label="Scatter Plot",
					method="restyle"
				),
				dict(
					args=["type", "bar"],
					label="Bar Chart",
					method="restyle"
				)
			]),
		),
	]
)

plot.show()

输出:

buttonplotly.gif

创建滑块和选择器:

在 plotly 中,范围滑块是一个自定义范围类型的输入控件。它允许在指定的最小和最大范围之间选择一个值或一个值范围。范围选择器是一种用于选择要在图表中显示的范围的工具。它提供了用于在图表中选择预配置范围的按钮。它还提供了输入框,可以手动输入最小和最大日期

例子:

import plotly.graph_objects as px
import pandas as pd

# 读取数据库
data = pd.read_csv("tips.csv")

plot = px.Figure(data=[px.Scatter(
	y=data['tip'],
	mode='lines',)
])

plot.update_layout(
	xaxis=dict(
		rangeselector=dict(
			buttons=list([
				dict(count=1,
					step="day",
					stepmode="backward"),
			])
		),
		rangeslider=dict(
			visible=True
		),
	)
)

plot.show()

输出:

sliderplotly.gif

小结

在本系列教程中,我们借助 Python 的四个不同绘图模块(即 MatplotlibSeabornBokeh 和 Plotly)绘制了tips 数据集。每个模块都以自己独特的方式显示情节,每个模块都有自己的一组功能,例如 Matplotlib 提供了更大的灵活性,但代价是编写更多代码,而 Seaborn 作为一种高级语言提供了允许人们通过少量代码。每个模块都可以根据我们想要完成的任务使用。

? Python 进行数据可视化系列汇总

? 更多相关文章

? 往日优秀文章推荐:

如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。?最后,不要忘了❤或?支持一下哦

? 评论区抽粉丝送书啦

? 欢迎大家在评论区提出意见和建议! (抽两位幸运儿送书,实物图如下)?

在这里插入图片描述

《Python入门到人工智能实战》

【内容简介】

《Python 入门到人工智能实战》是针对零基础编程学习者编写的教程。从初学者角度出发,每章以问题为导向,辅以大量的实例,详细地介绍了Python 基础、机器学习,以及最好也最易学习的两个平台PyTorch 和Keras。
  全书共20 章,包括Python 安装配置、Python 语言基础、流程控制语句、序列、函数、对象、文件及异常处理、数据处理和分析的重要模块(NumPy、Pandas)、机器学习基础、机器学习常用调优方法、神经网络、卷积神经网络,以及使用PyTorch、Keras 实现多个人工智能实战案例等。书中所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释,使读者可以轻松领会。

也有不想靠抽,想自己买的同学可以参考下面的链接

京东自营购买链接:

《Python入门到人工智能实战》- 京东图书

当当自营购买链接:

《Python入门到人工智能实战》- 当当图书

? 注意:

大家点赞关注,三天后也就是 11月11日 从评论区留言的同学中抽取两位送书

? 面试题库:Java、Python、前端核心知识点大全和面试真题资料
? 电子图书:图灵程序丛书 300本、机械工业出版社6000册免费正版图书
? 办公用品:精品PPT模板几千套,简历模板一千多套
? 学习资料:2300套PHP建站源码,微信小程序入门资料

如果中奖了联系不上则视为放弃,可以从下方公众号里找到作者的联系方式,每周都会送四本书,后面送书力度还会加大,一年送几百上千本不是问题,回复【进群】领书不迷路,群内 每位成员 我都会送一本。回复【资源】可获取上面的资料??????

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>