基于行的图表绘图(Seaborn 或 Matplotlib)
Row based chart plot (Seaborn or Matplotlib)
鉴于我的数据是一个 pandas 数据框并且看起来像这样:
Ref +1 +2 +3 +4 +5 +6 +7
2013-05-28 1 -0.44 0.03 0.06 -0.31 0.13 0.56 0.81
2013-07-05 2 0.84 1.03 0.96 0.90 1.09 0.59 1.15
2013-08-21 3 0.09 0.25 0.06 0.09 -0.09 -0.16 0.56
2014-10-15 4 0.35 1.16 1.91 3.44 2.75 1.97 2.16
2015-02-09 5 0.09 -0.10 -0.38 -0.69 -0.25 -0.85 -0.47
如何绘制 5 条线(每个参考 1 条线)的图表,其中 X 轴是列(+1、+2...),并从 0 开始?如果是seaborn,那就更好了。但也欢迎使用 matplotlib 解决方案。
在 pandas 中绘制数据框通常都是关于重塑 table 以便您想要的各个行位于单独的列中,并且 x 值位于索引中。其中一些 reshape 操作有点难看,但你可以这样做:
df = pd.read_clipboard()
plot_table = pd.melt(df.reset_index(), id_vars=['index', 'Ref'])
plot_table = plot_table.pivot(index='variable', columns='Ref', values='value')
# Add extra row to have all lines start from 0:
plot_table.loc['+0', :] = 0
plot_table = plot_table.sort_index()
plot_table
Ref 1 2 3 4 5
variable
+0 0.00 0.00 0.00 0.00 0.00
+1 -0.44 0.84 0.09 0.35 0.09
+2 0.03 1.03 0.25 1.16 -0.10
+3 0.06 0.96 0.06 1.91 -0.38
+4 -0.31 0.90 0.09 3.44 -0.69
+5 0.13 1.09 -0.09 2.75 -0.25
+6 0.56 0.59 -0.16 1.97 -0.85
+7 0.81 1.15 0.56 2.16 -0.47
现在您已经有了一个形状正确的 table,绘图是非常自动的:
plot_table.plot()
鉴于我的数据是一个 pandas 数据框并且看起来像这样:
Ref +1 +2 +3 +4 +5 +6 +7
2013-05-28 1 -0.44 0.03 0.06 -0.31 0.13 0.56 0.81
2013-07-05 2 0.84 1.03 0.96 0.90 1.09 0.59 1.15
2013-08-21 3 0.09 0.25 0.06 0.09 -0.09 -0.16 0.56
2014-10-15 4 0.35 1.16 1.91 3.44 2.75 1.97 2.16
2015-02-09 5 0.09 -0.10 -0.38 -0.69 -0.25 -0.85 -0.47
如何绘制 5 条线(每个参考 1 条线)的图表,其中 X 轴是列(+1、+2...),并从 0 开始?如果是seaborn,那就更好了。但也欢迎使用 matplotlib 解决方案。
在 pandas 中绘制数据框通常都是关于重塑 table 以便您想要的各个行位于单独的列中,并且 x 值位于索引中。其中一些 reshape 操作有点难看,但你可以这样做:
df = pd.read_clipboard()
plot_table = pd.melt(df.reset_index(), id_vars=['index', 'Ref'])
plot_table = plot_table.pivot(index='variable', columns='Ref', values='value')
# Add extra row to have all lines start from 0:
plot_table.loc['+0', :] = 0
plot_table = plot_table.sort_index()
plot_table
Ref 1 2 3 4 5
variable
+0 0.00 0.00 0.00 0.00 0.00
+1 -0.44 0.84 0.09 0.35 0.09
+2 0.03 1.03 0.25 1.16 -0.10
+3 0.06 0.96 0.06 1.91 -0.38
+4 -0.31 0.90 0.09 3.44 -0.69
+5 0.13 1.09 -0.09 2.75 -0.25
+6 0.56 0.59 -0.16 1.97 -0.85
+7 0.81 1.15 0.56 2.16 -0.47
现在您已经有了一个形状正确的 table,绘图是非常自动的:
plot_table.plot()