所有参数都应具有相同的长度。参数 y 的长度为 6,而先前参数 ['year'] 的长度为 100

All arguments should have the same length. The length of argument `y` is 6, whereas the length of previous arguments ['year'] is 100

我用过的库

import numpy as np
import pandas as pd
import seaborn as sns
import plotly.express as px 
import matplotlib.pyplot as plt

数据集 https://i.stack.imgur.com/k4hIL.png

我的代码

sound_features = ['acousticness', 'danceability', 'energy', 'instrumentalness', 'liveness', 'valence']
fig = px.line(year_data, x='year', y=sound_features)
fig.show()

我的输出 https://i.stack.imgur.com/iF529.png

理想输出 https://i.stack.imgur.com/Fwsop.png

我们这样试试

plot_data = [
    go.Scatter(
        x=year_data['year'],
        y=year_data['acousticness'],
        name = 'acousticness'
    ),
    go.Scatter(
        x=year_data['year'],
        y=year_data['danceability'],
        name = 'danceability'
    ),
    go.Scatter(
        x=year_data['year'],
        y=year_data['energy'],
        name = 'energy'
    ),
    go.Scatter(
        x=year_data['year'],
        y=year_data['instrumentalness'],
        name = 'instrumentalness'
    ),
    go.Scatter(
        x=year_data['year'],
        y=year_data['liveness'],
        name = 'liveness'
    ),
    go.Scatter(
        x=year_data['year'],
        y=year_data['valence'],
        name = 'valence'
    )
]

plot_layout = go.Layout(
        xaxis={"type": "category"},
        title='Sound features'
    )
fig = go.Figure(data=plot_data, layout=plot_layout)
pyoff.iplot(fig)