栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据可视化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据可视化

第一章
画线用plt.plot()

import matplotlib.pyplot as plt
import numpy as np
data=np.array([1,2,3,4,5])//数组元素属于y值,x值自动从0开始。
plt.plot(data)
plt.show()

import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[-4,-3,-2,-1])
plt.show()

arr = np.array([[1, 2, 3], 
                         [4, 5, 6], 
                         [7, 8, 9],
                         [10, 11, 12]])
plt.plot(arr[0], arr[1:]) //数组0作为x,数组1以后的作为y值

第二章
2.1折线图 用plt.plot() 综合应用

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
arr=np.array([33,54,33,77,99])
arr1=np.array([13,99,15,77,5])
x=np.arange(5)

plt.figure(figsize=(20,9))#窗口大小
plt.title('时间速度演化图',fontsize=23)
plt.xlabel('时间',fontsize=23)
plt.ylabel('速度',fontsize=23)
plt.text(x[1],arr1[1],'(x1,arr1)',fontsize=29)
plt.legend()
plt.plot(x,arr,'r-.',label="one",lw=9)
plt.plot(x,arr1,'bo-.',lw=9)
plt.savefig('./3.jpg')

x = np.arange(4, 19)
y_max = np.array([32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25, 31])
y_min = np.array([19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16, 16])
plt.plot(x,y_max,x,y_min,'bo--')

2.2用bar()画柱状图

x=np.arange(7)
y1=np.array([34,67,66,99,55,12,11])
plt.bar(x,y1,tick_label=['a','b','c','d','e','f','g'],width=0.5)//标签tick_label

x=np.arange(7)
err=[4,5,7,3,9,3,8]
y1=np.array([34,67,66,99,55,12,11])
y2=np.array([11,67,88,22,77,12,86])

plt.bar(x,y1,tick_label=['a','b','c','d','e','f','g'],width=0.3)
plt.bar(x,y2,bottom=y1,width=0.3,yerr=err)//y1在下面,宽度,误差棒


2.3 barh()绘制侧向柱状图

y = np.arange(5)
x1 = np.array([10, 8, 7, 11, 13])
x2 = np.array([9, 6, 5, 10, 12])
plt.barh(y,x1,tick_label=['a','b','c','d','e'],height=0.3)//注意x,y顺序。
plt.barh(y+0.3,x2,height=0.3)//在y上移动宽度的位置。

y = np.arange(5)
x1 = np.array([10, 8, 7, 11, 13])
x2 = np.array([9, 6, 5, 10, 12])
err = [2, 1, 2.5, 2, 1.5]
plt.barh(y,x1,tick_label=['a', 'b', 'c', 'd', 'e'],height=0.3)
plt.barh(y,x2,left=x1,height=0.3,xerr=err)//确定左右关系,加误差棒


2.4堆积图stackplot(x,y)绘制

x = np.arange(6)
y1 = np.array([1,4,3,5,6,7])
y2 = np.array([1,3,4,2,7,6])
y3 = np.array([3,4,3,6,5,5])
plt.stackplot(x,y1,y2,y3)


2.5饼状图的绘制 plt.pie(data,label,%3.lf,shadow,distance,begainangel)

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import random
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
kinds=['购物','人情往来','餐饮美食','通讯物流','生活日用','交通出行','休闲娱乐','其他']
money_scale=[800/3000,100/3000,1000/3000,200/3000,300/3000,200/3000,200/3000,200/3000]
dev_position=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]
plt.pie(money_scale,labels=kinds,autopct='%3.1f%%',shadow=True,
       explode=dev_position,startangle=90)
plt.show()

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import random
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
kinds=['购物','人情往来','餐饮美食','通讯物流','生活日用','交通出行','休闲娱乐','其他']
money_scale=[800/3000,100/3000,1000/3000,200/3000,300/3000,200/3000,200/3000,200/3000]
dev_position=[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]
plt.pie(money_scale,radius=1.5,wedgeprops={'width':0.7 },labels=kinds,
        autopct='%3.1f%%',shadow=True,
       explode=dev_position,startangle=90,pctdistance=0.75)
plt.show()

2.6绘制气泡图,散点图。plt.scatter(x,y,s=area)

import numpy as np
num=50
x=np.random.rand(num)
y=np.random.rand(num)
area=(30*np.random.rand(num)**2)
plt.scatter(x,y,s=area)

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
num=60
x=np.random.rand(num)
y=np.random.rand(num)
area=(30*np.random.rand(num))**2
plt.scatter(x,y,s=area)


27绘制箱状图。boxlplot()

import matplotlib.pyplot as plt
import numpy as np
data=np.random.randn(100)
plt.boxplot(data,meanline=True,widths=0.3,patch_artist=True,
            showfliers=False)
plt.show()


2.8雷达图。polar()

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']=False
dim_num=6
data=np.array([[0.04,0.32,0.35,0.30,0.30,0.88],
               [0.85,0.35,0.30,0.40,0.40,0.30],
               [0.43,0.89,0.30,0.28,0.22,0.30],
               [0.30,0.25,0.48,0.85,0.45,0.40],
               [0.20,0.38,0.87,0.45,0.32,0.28],
               [0.34,0.31,0.38,0.40,0.92,0.28]])
angles=np.linspace(0,2*np.pi,dim_num,endpoint=False)
angles=np.concatenate((angles,[angles[0]]))
data=np.concatenate((data,[data[0]]))

rradar_labels=['研究型(I)','艺术型(A)','社会型(S)','企业型(E)','传统型(C)','社会型(R)']
radar_labels=np.concatenate((radar_labels,[radar_labels[0]]))

plt.polar(angles,data)

plt.thetagrids(angles*180/np.pi,labels=radar_labels)

plt.fill(angles,data,alpha=0.25)
plt.show()


2.9绘制误差棒
plt.errorbar()

x=np.arange(5)
y=(25,32,34,20,25)
y_offset=(3,5,2,3,3)
plt.errorbar(x,y,y_offset,capsize=3,capthick=2)
plt.show()

第三章

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号