matplotlib 可以海运规格化数据,使y轴清晰

d5vmydt9  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(152)

我画出了数据的时间序列,其中数据的y值是不同的数量级。
我正在使用seaborn.lmplot,并期待找到一个normalise关键字,但一直无法找到。
我尝试使用对数刻度,但失败了(见图)。
这是我目前为止最好的尝试:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

gbp_stats = pd.read_csv('price_data.csv')

sns.lmplot(data=gbp_stats, x='numeric_time', y='last trade price', col='symbol')
plt.yscale('log')

plt.show()

我得到了这个:

如你所见,结果**需要缩放或归一化每个图的y轴。我可以在Pandas中做归一化,但希望尽可能避免这样做。
所以我的问题是:seaborn是否具有normailze特性,以便y轴可以比我所实现的更好地进行比较?

nbnkbykc

nbnkbykc1#

我发布了这个答案,它是直接来自mwaskom评论sharey=False,有一个小的调整,因为这个格式在seaborn中贬值了,sharey=False现在变成了dict
实现方法是添加关键字,该关键字接受如下形式的dict:facet_kws={'sharey':False}
所以答案是这样的:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

gbp_stats = pd.read_csv('price_data.csv')

sns.lmplot(data=gbp_stats, x='numeric_time', y='last trade price', 
    col='symbol', hue='symbol', facet_kws={'sharey':False})

plt.yscale('log') # this is optional now.

plt.show()

结果是这样的:

相关问题