Python 使用Plotly绘制折线图

Python 使用Plotly绘制折线图

Plotly是一个交互式的开源工具包,可以让用户在Python的数据可视化领域构建各种美观且智能的图表。本文将重点介绍折线图这一最受欢迎的图表形式。为了帮助你理解,我们将使用实际示例讲解如何使用Plotly制作折线图。

尽管我们主要关注折线图,但请记住Plotly是一个灵活的库,支持多种其他图表样式,为您提供了无数机会以数据讲述引人入胜的故事。

Plotly简介

强大的模块Plotly支持Python交互式和基于浏览器的图形生成。您可以创建复杂的图表,用户可以轻松修改,实现更全面的数据探索体验。

使用Plotly在Python中制作折线图

折线图可以将数据沿数轴显示,通常称为线形图。让我们开始使用Plotly在Python中制作折线图。

Plotly安装

如果尚未安装Plotly,请使用以下pip命令进行安装:

pip install plotly

构建基本线图

通过导入Plotly Express模块并使用line()函数,该函数可以接受多种形式的数据,如Pandas DataFrames或数组列表,您可以在Plotly中创建一个基本的线图。

使用Plotly创建线图的实际示例

让我们继续介绍一些使用Plotly创建线图的实际示例。

示例1:基本线图

我们将首先创建一个简单的折线图,以显示股票价格在五天内的增长情况。

import plotly.express as px

# Data
days = range(1, 6)
stock_price = [100, 105, 98, 105, 110]

# Create a line chart
fig = px.line(x=days, y=stock_price, labels={'x':'Days', 'y':'Stock Price'})

# Show the plot
fig.show()

在这个演示中,我们将制作一个简单的折线图,y轴上是股票价格,x轴上是天数。

示例2:多折线图

让我们扩展一下我们的示例,比较两个不同业务的股票价格增长情况 –

import plotly.express as px

# Data
days = range(1, 6)
company_A_stock = [100, 105, 98, 105, 110]
company_B_stock = [95, 102, 95, 102, 108]

# Create a line chart
fig = px.line(x=days, y=company_A_stock, labels={'x':'Days', 'y':'Stock Price'})
fig.add_trace(px.line(x=days, y=company_B_stock, labels={'x':'Days', 'y':'Stock Price'}).data[0])

# Show the plot
fig.show()

在此代码中,使用add_trace()来将第二条线添加到图表中。

示例3:自定义线图

使用Plotly可以以多种方式自定义线图。让我们修改之前示例中的线图:

import plotly.express as px

# Data
days = range(1, 6)
company_A_stock = [100, 105, 98, 105, 110]
company_B_stock = [95, 102, 95, 102, 108]

# Create a line chart
fig = px.line(x=days, y=company_A_stock, labels={'x':''Days', 'y':'Stock Price'}, title='Stock Price Comparison')
fig.add_trace(px.line(x=days, y=company_B_stock, labels={'x':'Days', 'y':'Stock Price'}).data[0])

# Customize chart
fig.update_layout(
   autosize=False,
   width=500,
   height=500,
   margin=dict(
      l=50,
      r=50,
      b=100,
      t=100,
      pad=4
   ),
   paper_bgcolor="LightSteelBlue",
)

# Add custom names to traces
fig.data[0].name = "Company A"
fig.data[1].name = "Company B"

# Show the plot
fig.show()

在上述示例中,使用update_layout()函数修改了图表的尺寸、边距和背景颜色。数据的name元素用于自定义跟踪(线条)的名称。

示例4:带有悬停数据的交互式折线图

Plotly的交互性使其具有强大的功能。为了改善交互性,用户可以使用该库来个性化悬停信息:

import plotly.express as px

# Data
days = range(1, 6)
company_A_stock = [100, 105, 98, 105, 110]
company_B_stock = [95, 102, 95, 102, 108]

# Create a line chart
fig = px.line(title='Stock Price Comparison')
fig.add_trace(px.line(x=days, y=company_A_stock, labels={'x':'Days', 'y':'Stock Price'}).data[0])
fig.add_trace(px.line(x=days, y=company_B_stock, labels={'x':'Days', 'y':'Stock Price'}).data[0])

# Add custom hover data
fig.data[0].name = "Company A"
fig.data[0].hovertemplate = "Day: %{x}<br>Stock Price: %{y}<extra></extra>"
fig.data[1].name = "Company B"
fig.data[1].hovertemplate = "Day: %{x}<br>Stock Price: %{y}<extra></extra>"

# Show the plot
fig.show()

在这种情况下,通过使用hovertemplate对悬停数据进行自定义。x和y的值由占位符%x和%y指示。轨迹名称由额外元素从悬停信息中取出。

结论

线图是数据可视化的基本工具,Plotly提供了一个强大的平台,可以快速轻松地创建和自定义这些图表。尽管我们只是初步了解了Plotly和线图的能力,但我们希望这些示例为您开始开发自己的可视化提供了坚实的基础。

永远记住,精通数据可视化不仅需要了解库的语法或指令,还需要知道哪种类型的图是最适合给定数据集的。因此,请继续尝试Plotly中可用的各种图表类型,并不断改进您的数据可视化技巧。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程