【发布时间】:2021-07-16 07:27:45
【问题描述】:
给定一个海量 DataFrame df:
year count
1980 -23
1980 -4
1981 10
1982 0
1982 4
...
2007 27
2008 0
2008 0
2009 -7
2009 5
值首先按year 排序,然后是count。 (显示的数值是任意变化的)
我想可视化count 如何随着year 的增加而不同地分布,这可以通过百分位图最有效地显示。但是,由于我的数据是在 DataFrame 中给出的,我认为更可行(坦率地说,更简单)的方法是使用seaborn.lineplot:
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(figsize=[16,12])
plt.axhline(y=0, color='black', linestyle='dotted')
sns.lineplot(x="year", y="count", ax=ax, data=df, color='red')
返回:
这个图表在某种程度上是有目的的,尽管我希望显示比单个百分位梯度具有更多的可变性。 (一个很好的例子是下图有 10 个百分位梯度,复制自此链接:Using percentiles of a timeseries to set colour gradient in Python's matplotlib)
我想知道是否有办法使用seaborn.lineplot 实现如此详细的图形,如果没有,是否有办法从pandas DataFrame 数据中实现。
【问题讨论】: