如何在Python Plotly上在同一Y轴上绘制多条线?
Plotly是Python中的一个开源绘图库,可以生成多种交互式基于网络的可视化,可以在Jupyter笔记本中显示、保存为独立的HTML文件或作为使用Dash的web应用程序的一部分提供。Plotly也可用于静态文档发布和桌面编辑器,如PyCharm和Spyder。
在本教程中,我们将展示如何使用Plotly在图表上绘制多条同一Y轴的线。在这里,我们将使用 plotly.express 来生成图表。它包含大量方法来自定义图表并将图表呈现为HTML格式。此外,我们将使用Pandas模块来生成DataFrame。
按照以下步骤绘制多条同一Y轴上的线。
步骤1
导入 plotly.express 模块,并别名为 px 。同样地,导入Pandas模块并别名为 pd 。
import plotly.express as px
import pandas as pd
步骤2
使用Pandas模块创建一个数据帧。
data = {
'year':[2015,2016,2017,2018,2019],
'lifeexp':[75,74,72,70,69],
'state':['kerala','punjab','karnataka','andhra','odisha'],
'ratio':[74,73.9,71.5,69.8,69]
}
df = pd.DataFrame(data)
步骤3
使用 px.line() 方法创建线条图。
# 创建线条图
fig = px.line(df, x=df['year'], y=df['lifeexp'])
步骤4
使用 add_scatter() 方法在图形内创建散点图。
fig.add_scatter(x=df['year'], y=df['ratio'])
示例
绘制多条线的完整代码如下:
import plotly.express as px
import pandas as pd
# 创建数据集
data = {
'year':[2015,2016,2017,2018,2019],
'lifeexp':[75,74,72,70,69],
'state':['kerala','punjab','karnataka','andhra','odisha'],
'ratio':[74,73.9,71.5,69.8,69]
}
# 创建数据帧
df = pd.DataFrame(data)
# 创建线条图
fig = px.line(df, x=df['year'], y=df['lifeexp'])
# 添加散点图
fig.add_scatter(x=df['year'], y=df['ratio'])
# 显示图表
fig.show()
输出结果
它将在浏览器上显示以下输出: