matplotlib,pyploy数据可视化第三方库(初学者教程)

本文详细介绍了使用Python的matplotlib库进行基础绘图,包括线形图、直方图、条形图、饼图、散点图以及3D图的绘制方法,还展示了如何配置环境和在同一绘图区域绘制多图。最后提及了动态交互和pyecharts的使用。
摘要由CSDN通过智能技术生成

一、matplotlib,pyploy绘图相关的对象

  1、容器类:图(figure)、坐标系(axes)、坐标轴(axis)、刻度(tick)
   2、基础类:线(line)、点(narker)、文本(text)、图例(legend)、网格(grid)、标题(title)

二、绘图的类型

1、线形图:plot()

   2、直方图:hist()

   3、条形图:bar()

   4、饼图:pie()

   5、散点图:scatter()

   6、3D图:from npl_toolkits.mplt3d import Aexs3D

   7、动态交互图:pyecharts

检查配置环境

f47f84de1361455f950682f36ec06599.png2ca830c3dfcf47e192eda661d1e4b31d.png

 #导入库

import matplotlib.pyplot as plt #导入数据可视化库matplotlib里面的pyplot绘图模块,别名plt

import numpy as np #导入科学计算库,别名np

#1、线形图:plot()

 

plt.rcParams['font.family'] = 'YouYuan' #设置字体

plt.rcParams['font.size'] = 30 #设置字体大小

 

#plt.plot([1,5,6,9,10]) #如果给出一组一维数组,默认为y坐标,x坐标为0,1,2,3...

#plt.plot([1,2,3,4,5])

#plt.plot([4,5,6,7,9],[1,5,6,9,10]) #如果给出两组一维数组,前面一组为x坐标,后面一组y坐标

plt.plot([0,4,6,2,0],[0,0,6,6,0])

plt.axis([-4,18,-4,18])

plt.xlabel('课程')

plt.ylabel('成绩')

plt.savefig('../R&Q_pic/test_0.png',dpi = 600) #将生成的图片保存在指定的位置,分辨率为600

plt.show() #显示图表,必须在保存图片之后

2f76066461a448e2b0cfd51aadd35694.png

 #同一绘图区域绘制多图

import numpy as np

import matplotlib.pyplot as plt

 

x = np.arange(10) #创建一个0-9的整数序列

 

plt.plot(x,x*1.5,'ro-',label = 'a')

plt.plot(x,x*2.5,'gx-',label = 'b')

plt.plot(x,x*3.5,'y*',label = 'c')

plt.plot(x,x*4.5,'bs-',label = 'd')

plt.plot(x,x**2,'mH-',label = 'e')

plt.savefig('../R&Q_pic/test1.jpg',dpi = 600) 

plt.legend()

plt.show()

b6abe805c7034ae698542ee5e0c4ff58.png

 np.arange(10) #只能生成整数序列

693ce1a2c8a945bbb329d82333cbfbcf.png

 np.arange(1,100,0.2) #可以生成小数序列,以0.2为等差

9a76b546520a4c82b507fa35499e4e96.png

9d1de6bfaa6f4c03b442101d0cfab06c.png

 示例:绘制正弦曲线,余弦曲线

思路:首先需要一条一系列的X坐标,可通过numpy中的arange()函数生成,例如从0到4,步长为0.02;

然后借助numpy中的正弦、余弦函数对每个X坐标分别求值;最后通过X坐标和对应的Y坐标画图。

import matplotlib.pyplot as plt
import numpy as np
 
plt.rcParams['font.family'] = 'Kaiti'
 
x = np.arange(0,4,0.02)      #生成x轴序列
 
y_1 = np.sin(np.pi*x)+2
y_2 = np.cos(np.pi*x)
plt.plot(x,y_2,'mx')
plt.plot(x,y_2,'r')
 
plt.legend(['正弦曲线','余弦曲线'])
plt.title('正余弦曲线图')
plt.show()

109303346c4840abb3ce328421c8556e.png

 #综合示例

import matplotlib.pyplot as plt

 

plt.figure(num = '气温趋势',figsize = (6,4))

plt.rcParams['font.family'] = 'Kaiti'

 

x = ['周一','周二','周三','周四','周五','周六','周日']

y_1 = [20,15,18,16,21,14,10]

y_1 = [12,8,14,10,13,9,4]

plt.plot(x,y_1,'rs-',label = '最高气温')

plt.plot(x,y_2,'bo:',label = '最低气温')

 

plt.title('一周气温变化趋势')

plt.xlabel('星期')

plt.ylabel('气温')

plt.legend()

 

plt.savefig('../R&Q_pic/test4.jpg',dpi = 600) 

plt.show()

0829d687b981432faca821118cf4b272.png

 #3.条形图:bar()

import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'STSong'

years = ['2014','2015','2016','2017','2018','2019']

baokao_nums = [172,164.9,177,201,238,290]

luqu_nums = [54.87,57.06,28.98,72.22,76.25,79.3]

 

x = range(len(years))

plt.bar(x,height = baokao_nums,width = 0.4)

plt.bar([i + 0.4 for i in x],luqu_nums,width = 0.4)

plt.xticks([i + 0.2 for i in x],years)

 

plt.legend(['研究生报考人数','研究生录取人数'])

plt.ylabel('人数/万人')

plt.xlabel('年份')

plt.title('研究生历年报考和录取情况')

 

plt.savefig('../R&Q_pic/test6.jpg',dpi = 600) 

plt.show()

936f100fcc8542cca51db43127034129.png

 #4、饼图:pie()

#案例:已知一个学生一天的活动时间分配为:学习8小时,睡觉7小时,吃饭三小时,玩乐6小时,绘制该学生一天时间分配饼状图

import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'FangSong'

plt.rcParams['font.size'] = 18

 

labels = ['学习','睡觉','吃饭','玩乐'] #活动标签

hours = [8,7,3,6]

colors = ['c','r','m','y']

 

plt.pie(hours,labels = labels,colors = colors, shadow = True,explode = (0,0.1,0,0.1), \

        autopct = '%3f%%',labeldistance = 1.2)

plt.title('一天的时间分配饼状图')

 

plt.savefig('../R&Q_pic/test7.jpg',dpi = 600) 

plt.show()

9698e559e8294d8fab9c97effd1d6850.png

 

  • 16
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值