我有一个 matplotlib 图,上面有一些小提琴图(尽管这个问题适用于任何类似的图或其他数据框情况,而不仅仅是小提琴图)。我目前运行我的代码,它会吐出这个数字,每个类别都有一个小提琴图。代码如下所示:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(data=np.random.random_integers(low=0,high=1000,size=(100,1)),
columns=['row0']
)
df['r0_range']='temp' #create a new column 'r0_range', give it a preliminary value
#make assignments depending on value of row0
df['r0_range'][df['row0']<=250]='[0,250]'
df['r0_range'][df['row0']>250]='(250,500]'
df['r0_range'][df['row0']>500]='(500,750]'
df['r0_range'][df['row0']>750]='(750,1000]'
fig1, ax1 = plt.subplots(1,1)
ax1 = sns.violinplot(data=df, x='r0_range', y='row0', inner=None, ax=ax1)
弹出以下内容:
我想在我的图中包含第五个小提琴图,它代表所有类别中的所有数据。有没有一种优雅的方法可以做到这一点,而不必将 row0 数据复制到数据框的新行中?