我是靠谱客的博主 勤奋星星,最近开发中收集的这篇文章主要介绍python笔记35_2:数据可视化之多维柱状图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

链接: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:数据可视化之多维柱状图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部