繁体   English   中英

熊猫数据框:堆积的区域图=“假”不起作用

[英]Pandas Dataframe: area plot stacked='false' not working

我有一个面积图,即使我通过设置参数stacked ='false'显式停用了堆叠功能,也仍然保持堆叠状态。

这是一些示例代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime as dt

# Generate sample data
sample_data = np.random.rand(24*365, 5)
df = pd.DataFrame(sample_data,
                  index=pd.date_range('1/1/2015 00:00',
                                      periods=len(sample_data), freq='H'))

# Select date range to plot
date_from = dt(2015, 12, 22, 12, 0)
date_to = dt(2015, 12, 22, 23, 0)
df = df.loc[date_from:date_to]

# Plotting
df.plot(kind='line', colormap='Blues')
# Place legend topright
[ax.legend(loc=1) for ax in plt.gcf().axes]
df.plot(kind='bar', stacked='true', colormap='Greens')
# Place legend topright
[ax.legend(loc=1) for ax in plt.gcf().axes]
df.plot(kind='barh', stacked='true', colormap='Oranges')
# Place legend topright
[ax.legend(loc=1) for ax in plt.gcf().axes]

# This one doesn't work as explained in
# http://pandas.pydata.org/pandas-docs/stable/visualization.html
df.plot(kind='area', stacked='false', alpha=0.5, colormap='Reds')
# Place legend topright
[ax.legend(loc=1) for ax in plt.gcf().axes]

面积图在我的机器上如下所示:

在此处输入图片说明

我有两个问题:

1.)如何修复面积图,使其不堆叠?

2.)是否有任何方法可以消除每个绘图之后重复出现的“ [plt.gcf()。axes]中的ax的[ax.legend(loc = 1)”)?

提前致谢!

设置stacked = False而不是'false'对我来说解决了第一个问题!

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from datetime import datetime as dt
mpl.style.use('ggplot')

# Generate sample data
sample_data = np.random.rand(24*365, 5)
df = pd.DataFrame(sample_data,
                  index=pd.date_range('1/1/2015 00:00',
                                      periods=len(sample_data), freq='H'))

# Select date range to plot
date_from = dt(2015, 12, 22, 0, 0)
date_to = dt(2015, 12, 22, 23, 0)
df = df.loc[date_from:date_to]

# Plot
df.plot(kind='area', stacked=False, alpha=0.5, colormap='Spectral',
        title='Area Plot')
[ax.legend(('Col1', 'Col2', 'Col3', 'Col4', 'Col5'),
           loc='upper right') for ax in plt.gcf().axes]

在此处输入图片说明

如果有人知道如何固定图例位置(请参阅原始问题),请告诉我!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM