如何在Python的Plotly中绘制多条线在同一Y轴上?
Plotly是一个开源的绘图库,可以生成多种不同类型的交互式基于Web的可视化图表,可以在Jupyter笔记本中显示,保存为独立的HTML文件,或作为Dash网页应用的一部分提供选择。Plotly也可以用于静态文档发布以及桌面编辑器,如PyCharm和Spyder。
在本教程中,我们将展示如何使用Plotly在图表上绘制多条线在同一Y轴。我们将使用 plotly.express 来生成图表。它包含了很多方法来自定义图表并将图表渲染成HTML格式。此外,我们还将使用Pandas模块生成 DataFrame 。
按照以下步骤绘制多条线在同一Y轴上。
Step 1
导入 plotly.express 模块并将其别名为 px 。同样,导入pandas模块并将其别名为 pd 。
import plotly.express as px
import pandas as pd
Step 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)
第三步
使用 px.line() 方法创建一条线图。
# Create line plot
fig = px.line(df, x=df['year'], y=df['lifeexp'])
步骤 4
使用 add_scatter() 方法在图表内创建散点图。
fig.add_scatter(x=df['year'], y=df['ratio'])
示例
绘制多个线条在同一Y轴上的完整代码如下:
import plotly.express as px
import pandas as pd
# Create dataset
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]
}
# Create dataframe
df = pd.DataFrame(data)
# Create Line plot
fig = px.line(df, x=df['year'], y=df['lifeexp'])
# Add Scatter plot
fig.add_scatter(x=df['year'], y=df['ratio'])
# Display the plot
fig.show()
输出
浏览器上将显示以下输出 –