我不知道如何绘制这张照片那样的条形图。
有人可以帮我吗?
答案 0 :(得分:0)
FROM centos:7.6.1810
RUN yum update -y && yum clean all
RUN yum install -y https://centos7.iuscommunity.org/ius-release.rpm \
&& yum install -y python36u python36u-libs python36u-devel python36u-pip \
&& yum install -y environment-modules mpich mpich-devel gcc-c++ \
&& yum install -y git
&& update-alternatives --install /usr/bin/python python /usr/bin/python2 50 \
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.6 60 \
&& echo "source /usr/share/Modules/init/bash" >> /root/.bashenv \
&& echo "module load mpi/mpich-x86_64" >> /root/.bashenv \
&& echo "[[ -s ~/.bashenv ]] && source ~/.bashenv" >> /root/.bash_profile \
&& echo "[[ -s ~/.bashenv ]] && source ~/.bashenv" >> /root/.bashrc
ENV BASH_ENV=/root/.bashenv
WORKDIR /app
命令pandas
接受一个Series.plot.bar
关键字,您可以在其中输入颜色列表(采用RGBA或颜色名称)。当列表太短时,我不确定该命令遵循什么逻辑,但是如果列表长度正确,它将起作用。
示例:
color
已编辑:
从您的评论中,我认为我可以理解您的问题。将来,请通过提出更清晰的问题来帮助社区帮助您。
要绘制每个月的值总和,并按照示例中的数据结构进行操作,
数据(请参阅-仍然可以使用的最小示例):
%matplotlib inline
import pandas as pd
this_series = pd.Series([0.5, 0.6, 0.1, 0.1, 0.05, 0.05, 0.7, 0.3, 0.2], name='foo')
this_series.plot.bar(color=['blue','black', 'brown', 'red','red','green','yellow'])
不需要“小时”,我们可以每天对数据值求和(毕竟,我们将按月对它们求和……或者我认为如此)。
df = pd.DataFrame(columns = ['hour_formatted', '11_jan_18', '13_jan_18', '14_mar_18'],
data = [['00:00', 3, 3, 4], ['00:01', 6, 3, 4], ['00:01', 100, 300, 500]])
此后,我们只需要一天中的一个月。按照您的格式,它是按df2 = df.drop('hour_formatted', axis=1).sum()
拆分时的第二项:
'_'
然后,您可以按月份(see groupby from docs)分组,并绘制条形图:
df2.index = [x.split('_')[1] for x in df2.index]
df2.index.rename('month', inplace=True)