概述
链接:https://pan.baidu.com/s/15jQhGzVV9zgYMWxstk-FwA
提取码:fb0c
# -*- coding: utf-8 -*-
#多维柱形图的绘制方法:
import numpy
import pandas
import matplotlib
from matplotlib import pyplot as plt
font = {
'family':'SimHei'
}
matplotlib.rc('font',**font)
data = pandas.read_csv("D:/workspaces/python/pythonStudy/35.csv")
#得到手机品牌与通信品牌的交叉表:
result = data.pivot_table(
values='月消费(元)',
index='手机品牌',
columns='通信品牌',
aggfunc=numpy.sum
)
index = numpy.arange(len(result))
#我们有三个通信品牌,所以定义三个颜色:
minColor = (42/256,87/256,141/256,1/3)
midColor = (42/256,87/256,141/256,2/3)
maxColor = (42/256,87/256,141/256,3/3)
#使用排列的方式,把数据排列放好,即为多维条形图
plt.bar(
index,result['全球通'],
color=minColor,width=1/4
)
plt.bar(
index+1/4,result['动感地带'],
color=midColor,width=1/4
)
plt.bar(
index+2/4,result['神州行'],
color=maxColor,width=1/4
)
plt.xticks(index+1/3,result.index)
#设置每种颜色的柱子代表的通信品牌:
plt.legend(['全球通','动感地带','神州行'])
plt.show()
#优化一下,对数据进行一个排序
#按神州行的月消费进行倒序排列(但是其他两个品牌的月消费大小这里控制不了)
result = result.sort_values(
by='神州行',ascending=False
)
plt.bar(
index,result['神州行'],
color=minColor,width=1/4
)
plt.bar(
index+1/4,result['动感地带'],
color=midColor,width=1/4
)
plt.bar(
index+2/4,result['全球通'],
color=maxColor,width=1/4
)
plt.xticks(index+1/3,result.index)
#设置每种颜色的柱子代表的通信品牌:
plt.legend(['神州行','动感地带','全球通'])
plt.show()
#堆叠柱形图的绘图案例,请看下一个源码文件
运行效果:
最后
以上就是勤奋星星为你收集整理的python笔记35_2:数据可视化之多维柱状图的全部内容,希望文章能够帮你解决python笔记35_2:数据可视化之多维柱状图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复