Python ------Matplotlib 数据可视化基础

基础图形绘制

在这里插入图片描述

x = np.arange(0,1.1,0.1)        #  x 取值
print(x)
plt.figure()            #   第一环节 创建画布
plt.plot(x,x**2)        #  第二环节   绘制图形
plt.plot(x,x**4)
plt.show()              #  第三环节 显示图形

结果
在这里插入图片描述

常用参数设置

在这里插入图片描述

x = np.arange(0,1.1,0.1)        #  x 取值
print(x)
plt.figure()            #   第一环节 创建画布
plt.plot(x,x**2)        #  第二环节   绘制图形
plt.plot(x,x**4)
plt.xlim(0,1)            #限制x,y取值范围
plt.ylim(0,1)
plt.title('lines')         #图的主题
plt.xlabel('x')         #  x,y轴对应的标签
plt.ylabel('y')
plt.legend(['y=x^2','y=x^4'])     # 添加图例
plt.savefig('tmp/example.png')    #保存图片  
plt.show()              #  第三环节 显示图形

结果
在这里插入图片描述
在这里插入图片描述

散点图绘制

在这里插入图片描述

#绘制散点图
import numpy as np
import matplotlib.pyplot as plt
data = np.load('tmp/国民经济核算季度数据.npz',allow_pickle=True)

data.files

在这里插入图片描述

columns = data['columns']
values = data['values']

data['values'].shape

在这里插入图片描述

plt.figure(figsize=(8,6))
plt.rcParams['font.sans-serif'] = 'SimHei'   #设置中文显示
plt.rcParams['axes.unicode_minus']= False
plt.scatter(values[:,1] , values[:, 3],marker='o')
plt.scatter(values[:,1] , values[:, 4],marker='*')
plt.scatter(values[:,1] , values[:, 5],marker='D')
plt.xticks(values[range(0,70,4),1],rotation=45)
plt.legend(['第一产业生产总值','第二产业生产总值','第三产业生产总值'])
plt.title('2000-2017年个产业生产总值散点图')
plt.ylabel('生产种植(亿元)')
plt.savefig('tmp/2000-2017年生产总值散点图.png')
plt.show()

在这里插入图片描述

绘制折线图

在这里插入图片描述

#绘制折线图
plt.figure(figsize=(8,6))
plt.rcParams['font.sans-serif'] = 'SimHei'   #设置中文显示
plt.rcParams['axes.unicode_minus']= False
plt.plot(values[:,1] , values[:, 3],marker='o')
plt.plot(values[:,1] , values[:, 4],marker='*')
plt.plot(values[:,1] , values[:, 5],marker='D')
plt.xticks(values[range(0,70,4),1],rotation=45)
plt.legend(['第一产业生产总值','第二产业生产总值','第三产业生产总值'])
plt.title('2000-2017年个产业生产总值散点图')
plt.ylabel('生产种植(亿元)')

plt.show()

在这里插入图片描述

绘制直方图

在这里插入图片描述

plt.figure(figsize=(8,6))
plt.rcParams['font.sans-serif'] = 'SimHei'   #设置中文显示
plt.rcParams['axes.unicode_minus']= False
plt.bar(columns[3:6],values[-1,3:6],color='r',width=0.6)    #width代表柱子之间的距离 越靠近1越近
plt.title('2017年第一季度各产业生产总值直方图')
plt.ylabel('生产种植(亿元)')

my_height = values[-1,3:6]
for i in range(len(my_height)):                  #此for循环可以在柱子上显示数值
    plt.text(i,my_height[i]+1000,my_height[i],va='bottom',ha='center')
plt.show()

在这里插入图片描述

绘制饼图

在这里插入图片描述

#绘制饼图
plt.figure(figsize=(6,6))
plt.rcParams['font.sans-serif'] = 'SimHei'   #设置中文显示
plt.rcParams['axes.unicode_minus']= False
labels = ['第一产业','第二产业','第三产业']

plt.pie(values[-1,3:6],explode=[0.01,0.01,0.01],labels = labels,autopct='%1.1f%%')  # explode 指的是不同区域之间白色间隔的大小 autopct 是让图形显示百分比
plt.title('2017年第一季度各产业生产总值直方图')



plt.show()

在这里插入图片描述

绘制箱线图

在这里插入图片描述

#绘制箱线图
plt.figure(figsize=(6,6))
plt.rcParams['font.sans-serif'] = 'SimHei'   #设置中文显示
plt.rcParams['axes.unicode_minus']= False
labels = ['第一产业','第二产业','第三产业']

plt.boxplot(values[:,3:6],notch=True,labels = labels)  
plt.show()

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值