montawwl / python

python学习笔记
Apache License 2.0
0 stars 0 forks source link

第8期 《分段统计图、批量保存和颜色设置》by zhonhui #9

Open zhonhui opened 5 years ago

zhonhui commented 5 years ago

概述

绘制分段统计图,例如条形统计图设置每根柱子的区间 批量保存图片的小技巧 改变图片主题颜色

  1. 导包
    #pandas和numpy是数据处理软件包
    import pandas as pd 
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.pyplot import savefig #保存图片时使用

    1.绘制分段统计图

#打开文件,先用pd.cut分段,并取出分段数值,通过precision控制小数的位数
capital_open = pd.read_csv("C:/Users/lizho/Desktop/金融市场开放指数.csv",engine='python')
data = capital_open
data['cut_point']=pd.cut(data['kaopen'],###报错:不能比较浮点和字符串问题如何解决??
    bins=[0,0.5,1,1.5,2,2.5], # 分割点
    labels=['0-0.5','0.5-1','1-1.5','1.5-2','2-2.5'], # 区间命名
    right=True,# 区间默认是坐开右闭
    precision=1)
# 用sns画图,可以直接汇总每个分段的数量后绘图# 相当于回到前面,用barplot绘图
sns.barplot(x='cut_point',y='ccode', data=data, estimator=np.sum, ci=0)
plt.xlabel('金融开放度')
plt.ylabel('国家个数')
plt.title('金融开放度统计')
plt.show()
  1. 批量保存图片
import matplotlib as mpl#解决中文显示为方块的问题
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
file = r'C:/服装预测/月销量趋势图.png'
#注意在这之前不能调用,plt.show(),否则会保存空白图片
savefig(file)
time.sleep(0.5)  # 注意这里要暂停一下,不然会出问题
plt.close()   # 记得关闭句柄

3.设定主题颜色

sns.set() # 恢复默认主题sns.set_style("whitegrid")  # 白色网格背景
sns.set_style("darkgrid")   # 灰色网格背景
sns.set_style("dark")       # 灰色背景
sns.set_style("ticks")      # 四周加边框和刻度