Plotly的魔力:如何用 Python 创建令人惊叹的图表?

大家好,在数据分析和可视化领域,图表是不可或缺的工具。它们可以帮助我们更直观地理解数据趋势和模式。

今天,我们要介绍的是一个强大的Python库——Plotly,它可以让你轻松创建交互式、漂亮的图表。

什么是Plotly?

Plotly 是一个开源的绘图库,支持多种语言,如Python、R、MATLAB等。它的特点是可以创建高质量、交互式的图表,这些图表可以在网页上展示,并且支持缩放、平移等交互操作。

图片

Plotly的优点
  • • 交互性:Plotly图表可以响应用户操作,提供更丰富的用户体验。

  • • 多样性:支持各种图表类型,如折线图、柱状图、饼图、散点图等。

  • • 高质量:生成的图表美观专业,适用于报告和演示。

安装Plotly

首先,你需要安装Plotly库。可以使用pip进行安装:

pip install plotly
导入Plotly

安装完成后,你可以在Python脚本中导入Plotly:


import plotly.express as px

import plotly.graph_objects as go

创建第一个图表

为了让你快速上手,我们先从一个简单的折线图开始。

折线图

我们使用Plotly的express模块,它提供了简便的方法来创建各种图表。假设我们有一组年份和对应的销售数据:


import plotly.express as px


# 示例数据

years = [2016, 2017, 2018, 2019, 2020]

sales = [250, 300, 350, 400, 450]


# 创建折线图

fig = px.line(x=years, y=sales, title='年度销售额')

fig.show()

图片

这段代码会生成一个简单的折线图,展示每年的销售额变化。

柱状图

接下来,我们创建一个柱状图来展示不同产品的销售量。


import plotly.express as px


# 示例数据

products = ['产品A', '产品B', '产品C']

sales = [150, 230, 180]


# 创建柱状图

fig = px.bar(x=products, y=sales, title='不同产品的销售量')

fig.show()

图片

散点图

散点图常用于显示两个变量之间的关系。我们来看一个例子,展示广告投入与销售额之间的关系。


import plotly.express as px


# 示例数据

ad_spend = [10, 20, 30, 40, 50]

sales = [100, 200, 300, 400, 500]


# 创建散点图

fig = px.scatter(x=ad_spend, y=sales, title='广告投入与销售额的关系')

fig.show()

图片

进阶用法

除了简单的图表,Plotly还支持复杂的定制和多种图表类型。接下来,我们介绍一些高级用法。

子图

有时,我们需要在一个图表中展示多个子图。Plotly的make_subplots函数可以帮助我们实现这一点。


import plotly.graph_objects as go

from plotly.subplots import make_subplots


# 创建子图

fig = make_subplots(rows=1, cols=2)


# 添加第一个子图

fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6], mode='lines', name='折线图'), row=1, col=1)


# 添加第二个子图

fig.add_trace(go.Bar(x=['A', 'B', 'C'], y=[1, 3, 2], name='柱状图'), row=1, col=2)


fig.update_layout(title_text='折线图和柱状图')

fig.show()

图片

绘制3D图表

Plotly还支持3D图表,例如3D散点图和3D曲面图。

 

import plotly.graph_objects as go

import numpy as np


# 创建3D数据

z = np.linspace(0, 1, 100)

x = np.cos(z * 2 * np.pi)

y = np.sin(z * 2 * np.pi)


# 创建3D散点图的trace

trace3d = go.Scatter3d(x=x, y=y, z=z, mode='markers', marker=dict(size=5))


# 创建3D图表对象

fig = go.Figure(data=[trace3d])


# 设置3D图表布局

fig.update_layout(title='3D散点图示例',

                  scene=dict(

                      xaxis_title='X轴',

                      yaxis_title='Y轴',

                      zaxis_title='Z轴'))


# 显示3D图表

fig.show()

图片

在这个高级案例中,我们创建了一个3D散点图,并使用update_layout设置了3D图表的布局。

本文介绍了Plotly的基础知识和一些常见的图表创建方法。Plotly不仅功能强大,而且使用方便,非常适合数据分析和可视化需求。

Plotly官方文档:https://plotly.com/python/

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值