import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# %cat /Users/chenlinlin/Desktop/通关情况.xlsx|less
matplotlib.pyplot设置语法有几种:
plt.+模块名字,比如plt.xticks()里面传入参数
用axes来设置的方法
fig,ax=plt.subplot(111)
#在ax里面设置ax.set_模块名字
ax.set_title()
绘制的方法
plt.plot()
ax.plot()
关于matplotlib的原理请参考链接,这个文章对了解matplotlib.pyplot的组块很有帮助
我们先读取数据
data=pd.read_excel('/Users/chenlinlin/Desktop/通关情况.xlsx',index_col='姓名', decoding='utf-8')
data.head()
已经成功读取了数据,我们对三列进行汇总统计,画成柱状图
data.sum().plot.bar()
绘图结果
可以看到我们已经成功画出来了,但还有些问题,比如x轴的tick中文显示不出来,颜色需要改成白色比较显眼,方向变成水平方向,加上x轴和y轴的标题
#我们修改列名为英文
data.columns=['first class', 'Public class', 'Graduation']
data.sum().plot.bar()
plt.title('Activity Vs Number',color='white')
plt.xlabel('Activity',color='white')
plt.ylabel('Number',color='white')
plt.xticks(rotation=0,color='white',backgroundcolor='b')#设置xticks的方向
plt.yticks(color='white')
(array([ 0., 10., 20., 30., 40., 50., 60., 70.]),
)
绘图结果
字体的设置
关于字体的设置可以参考链接
fig=plt.figure()
ax=fig.add_subplot(111)
data.sum().plot.bar()
plt.title('Activity Vs Number')
plt.xlabel('Activity')
plt.ylabel('Number')
ax.tick_params(direction='out', length=6, width=2, colors='white',
grid_color='b', grid_alpha=0.5)
绘图结果
也可以对ax进行tick_params的设置使得对x轴或者y轴同时成立或者部分成立
颜色的设置
#我们在这里设置一下颜色
data.sum().plot.bar(color=['lightblue','darkgreen','#eeefff'])
plt.title('Activity Vs Number',color='white')
plt.xlabel('Activity',color='white')
plt.ylabel('Number',color='white')
plt.xticks(rotation=0,color='white',backgroundcolor='b')#设置xticks的方向
plt.yticks(color='white')
(array([ 0., 10., 20., 30., 40., 50., 60., 70.]),
)
绘图结果
颜色的设置有几种规则:
(关于颜色的设置要参考这个链接.)
按照名字来:
比如light/dark+颜色的英文名,比如'lightblue',就像上面所示。
使用一些简单的记号:
alias
color
‘b’
blue
‘g’
green
‘r’
red
‘c’
cyan
‘m’
magenta
‘y’
yellow
‘k’
black
‘w’
white
from IPython.display import Image
Image('/Users/che