python - Plotly:如何使用 plotly.graph_objects 制作由变量着色的折线图?
问题描述
我在下面做一个折线图。我想让线条由变量着色Continent
。我知道它可以很容易地使用plotly.express
有谁知道我该怎么做plotly.graph_objects
?我尝试添加color=gapminder['Continent']
,但没有成功。
非常感谢您提前提供帮助。
import plotly.express as px
gapminder = px.data.gapminder()
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(x=gapminder['year'], y=gapminder['lifeExp'],
mode='lines+markers'))
fig.show()
解决方案
使用color=gapminder['Continent']
通常适用于散点图的方法,您可以使用第三个变量为现有点定义类别。您正在尝试在这里绘制线图。这意味着您不仅每个大陆都有一个颜色,而且每个大陆都有一条线。如果这实际上是您的目标,那么这是一种方法:
阴谋:
代码:
import plotly.graph_objects as go
import plotly.express as px
# get data
df_gapminder = px.data.gapminder()
# manage data
df_gapminder_continent = df_gapminder.groupby(['continent', 'year']).mean().reset_index()
df = df_gapminder_continent.pivot(index='year', columns='continent', values = 'lifeExp')
df.tail()
# plotly setup and traces
fig = go.Figure()
for col in df.columns:
fig.add_trace(go.Scatter(x=df.index, y=df[col].values,
name = col,
mode = 'lines'))
# format and show figure
fig.update_layout(height=800, width=1000)
fig.show()
推荐阅读
- php - 我需要为我的输出按天分别显示自定义,如下所示
- wordpress - 访问 JSON 数据的自定义 wordpress 查询
- node.js - React Native index.js 无法解析模块'/src/App.js 的路径
- angular - Angular 2+ w/Jasmine 测试:[ngClass]=”methodName(configObj)”问题
- r - 如何让 Windows 识别到 R 中的“pt_br.utf-8”
- oracle - 触发 oracle 16 年龄限制
- python - python regex - finding phone number
- cordova - 从子页面返回时,cordova-plugin-wkwebview-engine 重新加载应用程序
- php - 用数据库值替换字符串中的字符
- xaml - Xamarin.Forms 你可以在 XAML 的数据上下文中定义数据吗