数据可视化example5

数据可视化


#导入数据集
import pandas as pd
data = pd.read_csv('C:/Users/dell/Desktop/week5/example/foo.csv') 
mm = data.sum()

mm = data.sum()

  • sum 为求和运算,data是指上面定义

DataFrame.sum(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
axis : {index (0), columns (1)}

1、axis=0时,对应的是第一个维度元素的相加,

[[0,1,2,3],[4,5,6,7]]和[[1,2,3,4],[5,6,7,8]]对应元素相加[[0+4,1+2,2+3,3+4],[4+5,5+6,7+7,7+8]]=[[1,3,5,7],[9,11,14,16]]

2、axis=1时, 对应的是第二个维度元素相加,这时候保留第一个维度的结构(第一个维度元素的个数),

第一个维度元素的个数为2。分别是
[[0,1,2,3],[4,5,6,7]]和[[1,2,3,4],[5,6,7,8]]
结构不变,继续向下拆分,可得
(1)[0,1,2,3]和[4,5,6,7], 对应元素相加, 合并到一个数组中, [4,6,8,10]
(2)[1,2,3,4]和[5,6,7,8], 对应元素相加, 合并到一个数组中, ,6,8,10,12]

3、当axis=2时, 因为元素一共是三维,这就到了最后一个维度,将最小单位的数组元素相加即可。

[0+1+2+3,4+5+6+7],[[1+2+3+4],[5+6+7+8]]=[[6,22],[10,26]]


#绘制图形
import numpy as np
import matplotlib.pyplot as plt
#中文字体显示
plt.rc('font', family='SimHei', size=13)
N = 3
#3个用户 0 1 2
ind = np.arange(N)  # the x locations for the groups

np.arange(start, stop, step, dtype=None)

  • arange函数用于创建等差数组
1.start:可忽略不写,默认从0开始;起始值
2.stop:结束值;生成的元素不包括结束值
3.step:可忽略不写,默认步长为1;
4. dtype:默认为None,设置显示元素的数据类型
#设置宽度
width =0.5      
x = [u'用户A', u'用户B', u'用户C']
#绘图
plt.figure(1)
plt.bar(ind, mm, width, color='r')
plt.xlabel(u"用户名")
plt.ylabel(u"总耗电量")
plt.title(u'电力窃漏电用户自动识别--总耗电量')
plt.show()

1.width是设置的宽度,表示在条形图中的宽度
2.plt.bar 表示画条形图

bar(x, height, width=0.8, bottom=None, , align=‘center’, data=None, kwargs*)
x:x坐标
height :条形的高度
width:宽度
botton:条形的起始位置
align:条形的中心位置(“center”,“lege"边缘)
观察plt.bar(ind, mm, width, color=‘r’)

Figure1这是用python画出的条形图


#%%
import matplotlib.pyplot as plt
fracs = [45, 30, 25]             #每一块占得比例,总和为100          #离开整体的距离,看效果
labels = 'A', 'B', 'C'         #对应每一块的标志
plt.figure(2)
plt.pie(fracs, labels=labels,autopct='%1.1f%%', shadow=True, startangle=60, colors = ("g", "r", "y"))                       
plt.show()
  • def pie(x, explode=None, labels=None, colors=None, autopct=None,
    pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None,
    radius=None, counterclock=True, wedgeprops=None, textprops=None,
    center=(0, 0), frame=False, rotatelabels=False, hold=None, data=None)

    x : (每一块)的比例,如果sum(x) > 1会使用sum(x)归一化;
    labels :(每一块)饼图外侧显示的说明文字;
    autopct :控制饼图内百分比设置,可以使用format字符串或者format function ‘%1.1f’ 指小数点前后位数(没有用空格补齐);
    startangle :起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;
    shadow :在饼图下面画一个阴影。默认值:False,即不画阴影;
#导入数据集
import pandas as pd
data = pd.read_csv('foo.csv') 
mm = data.sum()
#绘制图形
import numpy as np
import matplotlib.pyplot as plt
#中文字体显示
plt.rc('font', family='SimHei', size=13)
N = 3
#3个用户 0 1 2
ind = np.arange(N)  # the x locations for the groups
#设置宽度
width = 0.35        
x = [u'用户A', u'用户B', u'用户C']
#绘图
plt.figure(1)
plt.bar(ind, mm, width, color='r')
plt.xlabel(u"用户名")
plt.ylabel(u"总耗电量")
plt.title(u'电力窃漏电用户自动识别--总耗电量')
plt.show()
#%%
import matplotlib.pyplot as plt
fracs = [45, 30, 25]             #每一块占得比例,总和为100          #离开整体的距离,看效果
labels = 'A', 'B', 'C'           #对应每一块的标志
plt.figure(2)
plt.pie(fracs, labels=labels,autopct='%1.1f%%', shadow=True, startangle=60, colors = ("g", "r", "y"))                       
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值