首页 > 解决方案 > 为什么 matplotlib 上的 Joyplot 代码显示此错误?

问题描述

我写了一个简单的代码来开始使用 Matplotlib 上的 Joyplots。这是整个代码:

import random
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt import joypy

random.seed(4554)

randomlist = random.sample(range(100,10000),1000) 
randomyear = np.linspace(1018,2018,num=1001)
 
df=pd.DataFrame(list(zip(randomyear,randomlist)),columns=['Year','Values'])

fig, axes = joypy.joyplot(df, by="Year", column="Values",figsize=(5,8))

plt.show()

我不断收到此错误:

ValueError: `dataset` input should have multiple elements.

这是什么意思,我做错了什么,以及如何修复此代码?

标签: pythonpandasmatplotlibridgeline-plot

解决方案


您需要每年生成多条记录;您的代码每年生成一条记录。

我已经更新了你的随机数生成:

import random
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 
import joypy

random.seed(4554)

randomlist = np.random.rand(1000)
randomyear = list(range(1999, 2019)) * 50

df = pd.DataFrame(list(zip(randomyear,randomlist)), columns= ['Year','Values'])

fig, axes = joypy.joyplot(df, by="Year", column="Values",figsize=(5,8))

推荐阅读