如何使用此数据框创建一个简单的交互式绘图
How to create a simple interactive plotly graph with this dataframe
我正在尝试使用我在 datacamp 上看到的示例制作交互式图表,但我不知道如何使用不同类型的数据框来实现它。这是我的数据框(我通过添加来自其他 dfs 的列自己创建的):
如何遍历具有不同名称的列?以及如何 select 日期列?
这是我从 datacamp 获得的代码,我试图将其更改为适合我,但显然它不起作用,因为我不知道如何正确地遍历列:
for country in ['fake news IT', 'fake news BR', 'fake news PH']:
df = df_fake_news[df_fake_news[0] == country]
fig.add_trace(go.Scatter(
x=df['date'],
y=df['country'],
name=, mode='lines'))
如果要循环遍历dataframe的列,可以直接写列名,但是可以使用df.columns获取列名列表。使用subplot水平排列三列。
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import numpy as np
import pandas as pd
df = pd.DataFrame({'date':pd.date_range('2020-09-30',' 2021-09-30', freq='1d'),
'fake news IT': np.random.randint(0,30,(366,)),
'fake news BR': np.random.randint(0,30,(366,)),
'fake news PH': np.random.randint(0,30,(366,)),
})
df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)
fig = make_subplots(rows=1, cols=3)
for i,c in enumerate(df.columns):
fig.add_trace(
go.Scatter(x=df.index, y=df[c], mode='markers', name=c),
row=1, col=i+1
)
fig.show()
我正在尝试使用我在 datacamp 上看到的示例制作交互式图表,但我不知道如何使用不同类型的数据框来实现它。这是我的数据框(我通过添加来自其他 dfs 的列自己创建的):
如何遍历具有不同名称的列?以及如何 select 日期列?
这是我从 datacamp 获得的代码,我试图将其更改为适合我,但显然它不起作用,因为我不知道如何正确地遍历列:
for country in ['fake news IT', 'fake news BR', 'fake news PH']:
df = df_fake_news[df_fake_news[0] == country]
fig.add_trace(go.Scatter(
x=df['date'],
y=df['country'],
name=, mode='lines'))
如果要循环遍历dataframe的列,可以直接写列名,但是可以使用df.columns获取列名列表。使用subplot水平排列三列。
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import numpy as np
import pandas as pd
df = pd.DataFrame({'date':pd.date_range('2020-09-30',' 2021-09-30', freq='1d'),
'fake news IT': np.random.randint(0,30,(366,)),
'fake news BR': np.random.randint(0,30,(366,)),
'fake news PH': np.random.randint(0,30,(366,)),
})
df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)
fig = make_subplots(rows=1, cols=3)
for i,c in enumerate(df.columns):
fig.add_trace(
go.Scatter(x=df.index, y=df[c], mode='markers', name=c),
row=1, col=i+1
)
fig.show()