У меня есть несколько фреймов данных
df1
num_category value
1201 999
1348 999
9999 111
df2
num_category value
1201 998
1348 998
9999 118
df3
num_category value
1201 998
1348 997
9999 117
df4
num-category value
1201 999
1348 999
9999 119
Перед построением графика я превратил «категорию» в категорию, потому что они являются произвольными метками, и между числовыми значениями существует большой скачок.
Я написал следующий код для каждого df (где x принимает значение от 1 до 4, но не в цикле for), где цвет отличается для каждого графика.
dfx['char_category'] = dfx['category'].astype('category')
dfx = dfx.set_index('char_category')
dfx.plot(y = 'value', marker = 'o', figsize = [12,6], color = 'green')
plt.xticks(np.arange(len(dfx.index)), dfx.index, rotation = 90)
После четырех сюжетов, которые я написал
plt.show()
Но это показывает 4 отдельных графика, а не наложенных.
Я тоже пытался
dfs = [df1,df2,df3,df4]
for df in dfs:
df['char_category'] = df['num_category'].astype('category')
plt.scatter(x=df['char_category'],y=df['value'],marker='o')
plt.legend(loc='best')
plt.show()
это действительно накладывает графики, но это переключает переменную 'category' обратно на числовую переменную, и есть много пустой области графика в середине, потому что 'category' буквально является категорией (которую я не могу переименовать для интерпретации причины)