数据窗口 label_数据分析 04 Matplotlib可视化基础

317ff010ae8b2988c2d8c03a57d036f6.png

- 01 -

基础语法

1.创建画布与子图

plt.figure():创建空白画布

figure.add_subplot():创建并选中子图

2.添加画布内容

b2c370ca2c6cef9e41018e8e513ea81c.png

3.保存与展示图形

plt.savafig()  保存路径

plt.show()  展示

#基础绘图语法

import numpy as np
import matplotlib.pyplot as plt
data = np.arange(0,1.1,0.1)

plt.title('lines')#添加标题
plt.xlabel('x')#添加x轴的名称
plt.ylabel('y')#添加y轴的名称
plt.xlim(0,1)#确定x轴的范围
plt.ylim(0,1)#确定y轴的范围

plt.xticks(np.arange(0,1.1,0.2))#规定刻度
plt.yticks(np.arange(0,1.1,0.2))
plt.plot(data,data**2)#添加y=x**2曲线
plt.plot(data,data**4)
plt.legend(['y=x^2','y=x^4'])
plt.savefig('C:\\Users\\小新\\Desktop\\sss.jpg')#保存路径
plt.show

#包含子图

import numpy as np
import matplotlib.pyplot as plt
rad = np.arange(0,np.pi*2,0.01)

#第一幅子图
p1 = plt.figure(figsize=(8,6),dpi=80)#确定画布大小
ax1 = p1.add_subplot(2,1,1)#创建2行1列的子图,并开始绘制第一幅
plt.title('lines')#添加标题
plt.xlabel('x')#添加x轴的名称
plt.ylabel('y')#添加y轴的名称
plt.xlim(0,1)#确定x轴的范围
plt.ylim(0,1)#确定y轴的范围
plt.xticks(np.arange(0,1.1,0.2))#规定刻度
plt.yticks(np.arange(0,1.1,0.2))
plt.plot(rad,rad**2)#添加y=x**2曲线
plt.plot(rad,rad**4)
plt.legend(['y=x^2','y=x^4'])

#第二幅子图
ax2 = p1.add_subplot(2,1,2)#创建2行1列的子图,并开始绘制第一幅
plt.title('sin/cos')#添加标题
plt.xlabel('rad')#添加x轴的名称
plt.ylabel('value')#添加y轴的名称
plt.xlim(0,np.pi*2)#确定x轴的范围
plt.ylim(-1,1)#确定y轴的范围
plt.xticks([0,np.pi/2,np.pi,np.pi*1,5,np.pi*2])#规定刻度
plt.yticks(np.arange(-1,1.1,0.5))
plt.plot(rad,np.sin(rad))#添加sin曲线
plt.plot(rad,np.cos(rad))
plt.legend(['sin','cos'])
plt.show()

- 02 - 设置pyplot的动态rc参数 pyplot使用rc配置文件来自定义图形的各种默认属性,被称为rc配置或rc参数。 在pyplot中几乎所有的默认属性都是可以控制的,例如视图窗口大小以及每英寸点数、线条宽度、颜色和样式、坐标轴、坐标和网格属性、文本、字体等。 线条 6cd35700963ae6b6c14a7a83eff7e887.png 线条类型 f8619af9ba96cfba6ecd44cf5b76116d.png 标记 a53dd28988af538a492676a1f57779eb.png #调节线条 import numpy as np
import matplotlib.pyplot as plt

#原图

x = np.linspace(0,4*np.pi)#生成x轴的数据
y = np.sin(x)#生成y轴数据
plt.plot(x,y,label = '$sin(x)$')#绘制sin曲线图
plt.title('sin')

plt.show

#修改rc参数后的图
plt.rcParams['lines.linestyle'] = '-.'
plt.rcParams['lines.linewidth'] = 3
plt.plot(x,y,label='$sin(x)$')#绘制三角函数
plt.title('sin')
plt.show() #调节字体 import numpy as np
import matplotlib.pyplot as plt

#无法显示中文标题

plt.plot(x,y,label = '$sin(x)$')#绘制三角函数
plt.title('sin曲线')

plt.show()

#设置rc参数显示中文标题
#设置字体为SimHei显示中文

plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus'] = False #设置正常显示符号
plt.plot(x,y,label='$sin(x)$')#绘制三角函数书
plt.title('sin曲线')
plt.show() - 03 - 各类图 散点图 matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,alpha=None, **kwargs)  #size,color 折线图 matplotlib.pyplot.plot(*args,**kwargs) color参数的8种常用颜色的缩写。 00b5b0dfd89f87a9f56c1c18666acc5d.png 直方图 matplotlib.pyplot.bar(left,height,width = 0.8,bottom = None,hold = None,data = None,** kwargs) 饼图 matplotlib.pyplot.pie(x,explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, … ) 5205d4a93b8f0f4533a62999a3e02e11.png 箱线图 matplotlib.pyplot.boxplot(x,notch=None,sym=None,vert=None,whis=None,positions=None,widths=None,patch_artist=None,meanline=None, labels=None, … ) 72a128fb6364b148dd201eb0b2b4a73e.png - 04 - 实例 # 绘制直方图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'## 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = np.load('../data/国民经济核算季度数据.npz')
name = data['columns']## 提取其中的columns数组,视为数据的标签
values = data['values']## 提取其中的values数组,数据的存在位置
label = ['第一产业','第二产业','第三产业']## 刻度标签
plt.figure(figsize=(6,5))## 设置画布
plt.bar(range(3),values[-1,3:6],width = 0.5)## 绘制散点图
plt.xlabel('产业')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加y轴名称
plt.xticks(range(3),label)
plt.title('2017年第一季度各产业国民生产总值直方图')## 添加图表标题
plt.savefig('../tmp/2017年第一季度各产业国民生产总值直方图.png')
plt.show() # 饼图
plt.figure(figsize=(6,6))## 将画布设定为正方形,则绘制的饼图是正圆
label= ['第一产业','第二产业','第三产业']## 定义饼状图的标签,标签是列表
explode = [0.01,0.01,0.01]## 设定各项离心n个半径
plt.pie(values[-1,3:6],explode=explode,labels=label,
        autopct='%1.1f%%')## 绘制饼图
plt.title('2017年第一季度各产业国民生产总值饼图')
plt.savefig('../tmp/2017年第一季度各产业生产总值占比饼图')
plt.show() # 箱线图
label= ['第一产业','第二产业','第三产业']## 定义标签
gdp = (list(values[:,3]),list(values[:,4]),list(values[:,5]))
plt.figure(figsize=(6,4))
plt.boxplot(gdp,notch=True,labels = label, meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.savefig('../tmp/2000-2017各产业国民生产总值箱线图.png')
plt.show() # 箱线图
label1 = ['第一产业','第二产业','第三产业']## 标签1
label2 = ['农业','工业','建筑','批发','交通',
        '餐饮','金融','房地产','其他']## 标签2
gdp1 = (list(values[:,3]),list(values[:,4]),list(values[:,5]))
gdp2 = ([list(values[:,i]) for i in range(6,15)])
p = plt.figure(figsize=(8,8)) ## 子图1
ax1 = p.add_subplot(2,1,1)
## 绘制散点图
plt.boxplot(gdp,notch=True,labels = label1, meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.ylabel('生产总值(亿元)')## 添加y轴名称 ## 子图2
ax2 = p.add_subplot(2,1,2)
## 绘制散点图
plt.boxplot(gdp2,notch=True,labels = label2, meanline=True)
plt.title('2000-2017各行业国民生产总值箱线图')
plt.xlabel('行业')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加y轴名称 ## 保存并显示图形
plt.savefig('../tmp/国民生产总值分散情况箱线图.png')
plt.show() -end-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值