分享

Python数据可视化常用方法及流程总结

 昵称16619343 2018-12-17

常用方法


套路总结

  1. 引入方法 numpy mataplotlib read_csv plt

  2. 设置字体

  3. 读取数据 csv

  4. 设置图

  5. 设置标题,x,y标签

  6. 展示图 show


常用图形

1.散点图 plot

2.饼图 pie

3.柱状图 bar barh


散点图实例,附源码

# 1.引用方法 matplotlib pandas

import matplotlib

from pandas import read_csv

import matplotlib.pyplot as plt


# 2.读取数据

df = read_csv('data/data.csv')

# print(df)

# 3.设置字体 font={family,SimHei} matplotlib.rc(font,**font)

font = {

'family': 'SimHei',

}

matplotlib.rc('font', **font)

# 4.设置数据plt.plot(数据1,数据2,形状,颜色)

plt.plot(df['购买用户数'], df['广告费用'], 'o', color='red')

# 5.设置x和y的显示标签

plt.xlabel('购买用户数')

plt.ylabel('广告费用')

# 6.grid(True)

plt.grid(True)

# 7.show

plt.show


饼图实例,附详细源码

# 1.引用方法 numpy mataplotlib read_csv pyplot

import numpy

import matplotlib

from pandas import read_csv

import matplotlib.pyplot as plt


# 2.读取数据

data = read_csv('data/data_phone.csv')

# 3.分组 data.groupby(by=[通信品牌],as_index=)[号码].agg({用户数:numpy.size})

# gb = data.groupby(by=['通信品牌'], as_index=False)['号码'].agg({'用户数': numpy.size})

gb = data.groupby(by=['省份'], as_index=False)['号码'].agg({'用户数': numpy.size})

# 4.设置字体 family rc

font = {'family': 'SimHei'}

matplotlib.rc('font', **font)

# 5.设置饼图pie(数据gb[用户数],标签gb[通信品牌],保留小数autopct=%.2f%%)

# plt.pie(gb['用户数'], labels=gb['通信品牌'], autopct='%.2f%%')

plt.pie(gb['用户数'], labels=gb['省份'], autopct='%.2f%%')

# 6.展示饼图

plt.show


柱状图实例,附详细源码

# 1.引入方法 numpy matplotlib read_csv plt

import numpy

import matplotlib

from pandas import read_csv

import matplotlib.pyplot as plt


# 2.设置字体

font = {'family': 'SimHei'}

matplotlib.rc('font', **font)

# 3.读取数据

data = read_csv('data/data_phone.csv')

# 4.设置 横坐标x=手机品牌 纵坐标y=月消费 对比comparison=通信品牌

# 横坐标

d1 = '手机品牌'

# 条形图

d2 = '通信品牌'

# 纵坐标

v = '月消费'

# 5.分组data.groupby(by=[手机品牌,通信品牌])[月消费(元)].agg({纵坐标y:numpy.sum})

gb = data.groupby(by=[d1, d2])['月消费(元)'].agg({v: numpy.sum})

# 6.从分组中取出手机品牌通信品牌 phone=gb.index.levels[0].size communication=gb.index.levels[1].size

# 手机品牌

d1size = gb.index.levels[0].size

# 通信品牌

d2size = gb.index.levels[1].size

# 7.设置三种颜色[r,g,b] 三种通信品牌phone x轴序列left=numpy.arange(phone)

# 索引是索引的手机品牌

index = numpy.arange(d1size)

# 颜色三种 三种通信品牌

colors = ['r', 'g', 'b']

# 8.遍历通信品牌

for i in range(0, d2size):

# y轴序列height=gb[y][gb.index.labels[1]==i]

# 名字和手机品牌相等

subgb = gb[v][gb.index.labels[1] == i]

#

# 绘制条形图bar=plt.bar(left*communication+i,y轴序列height,1,color=三种颜色[i])

bar = plt.bar(index * d2size + i, subgb, color=colors[i])

#

# 9.标签位置 plt.xticks(nump.arange(phone)*communication+3/2,gb.index.levels[0])

# 绘制条形图

lIndex = numpy.arange(d1size) * d2size


# 画标签,索引的位置+

plt.xticks(lIndex + 3 / 2, gb.index.levels[0])

# 10.展示 plt.legend(gb.index.levels[1]) show

plt.legend(gb.index.levels[1])

plt.show

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多