matplotlib基本设置与几种基本图形绘制

本文介绍matplotlib的一些基本设置和直方图、条形图、折线图、饼图及散点图的绘制。

首先配置一个简单的图形:

import matplotlib
import matplotlib.pyplot as plt #导入其绘图库
x=[1,2] #x轴
y=[-3,4] #y轴
plt.bar(x,y) #bar是柱状图的意思
plt.show()

输出结果:
一个简单的柱状图
要进行后续工作,先了解一些基本配置:
#中文支持
plt.rcParams[‘font.sans-serif’] = [‘SimHei’]
#正常显示负号
plt.rcParams[‘axes.unicode_minus’] = False
#修改线条样式
plt.rcParams[‘lines.linewidth’]=5 #线条宽
plt.rcParams[‘lines.color’]=‘red’ #线条颜色
plt.rcParams[‘lines.linestyle’]=‘–’ #线条样式


下面加入中文标题,编译器报错或是加入负值不显示:

import matplotlib
import matplotlib.pyplot as plt #导入其绘图库
x=[1,2] #x轴
y=[-3,4] #y轴
plt.title('中文标题')
plt.bar(x,y) #bar是柱状图的意思
plt.show()

解决方案:
加入
plt.rcParams[‘font.sans-serif’] = [‘SimHei’] #中文支持
plt.rcParams[‘axes.unicode_minus’] = False #正常显示负号

注:在后续编程中,可直接将此语句进行配置,以免造成后续错误

import matplotlib
import matplotlib.pyplot as plt #导入其绘图库
x=[1,2] #x轴
y=[-3,4] #y轴
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title('中文标题')
plt.bar(x,y) #bar是柱状图的意思
plt.show()

输出结果:
结果已经正确输出
下面进行修改线条样式的测试(以折线图为例):

import matplotlib
import matplotlib.pyplot as plt #导入其绘图库
x=[1,2] #x轴
y=[-3,4] #y轴
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['lines.linewidth']=10
plt.rcParams['lines.linestyle']='--'
plt.title('中文标题')
plt.plot(x,y) #plot是折线图的意思
plt.show()

输出结果:
线条样式已经变化
下面进行直方图的绘制:

import matplotlib as mpl
import matplotlib.pyplot as plt
height=[168,155,182,170,173,161,155,173,176,181,166,172,170]
bins=range(150,190,5)#区间划分 150、190是边界,5是步长
plt.hist(height,bins=bins)#hist是直方图的意思
plt.show()

直方图的绘制只需要两个参数,一个是数据,一个是区间,只要给定好数据和区间,就可以进行统计。

输出结果:直方图的绘制
下面进行条形图的绘制:

import matplotlib as mpl
import matplotlib.pyplot as plt
classes=['class 1','class 2','class 3']
scores=[70,80,60]
plt.bar(classes,scores)
plt.show()

条形图常用于将同类数据进行对比,更直观的显示数据关系。

输出结果:
条形图的绘制
下面进行折线图的绘制:

import matplotlib as mpl
import matplotlib.pyplot as plt
year=range(2001,2017) #右边是开集合,也就是说可以从2001年取到2016年
height=[157,160,162,163,167,170,173,175,174,179,182,182,182,182,182,183]
plt.plot(year,height) #此为绘制折线图
plt.show()

折线图一般为了体现数据的变化率

输出结果:折线图的绘制
下面进行饼图的绘制:

import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
labels=['饮食','出行','教育']
data=[2000,3600,6000]
plt.pie(data,labels=labels,autopct='%1.1f%%')#此为绘制饼图
#加入autopct参数才可显示百分比,%1.1f是保留一位小数,后边的%%一个是转义字符,一个是百分号
plt.show()

注:若要显示百分数,要加入autopct参数

输出结果:饼图的绘制
下面进行散点图的绘制:

import matplotlib as mpl
import matplotlib.pyplot as plt
data = [[18.9,10.4],[21.3,8.7],[19.5,11.6],[20.5,9.7],[19.9,9.4],[22.3,11],[21.4,10.6],[9,9.4],[10.4,9],[9.3,11.3],[11.6,8.5],[11.8,10.4],[10.3,10],[8.7,9.5],[14.3,17.2],[14.1,15.5],[14,16.5],[16.5,17.7],[15.1,17.3],[16.4,15],[15.7,18]]
#提取X和Y
X=[item[0] for item in data]
Y=[item[1] for item in data]
print(X,Y)
plt.scatter(X,Y) #此为绘制散点图
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.title('超市商品价位与销量散点图') #添加标题
plt.xlabel('价格(元)') #添加横坐标标题
plt.ylabel('销量(件)') #添加纵坐标标题
plt.text(16,16,'牙膏') #在坐标点插入文字
plt.text(10,11,'纸巾')
plt.text(20,10,'洗衣液')
plt.show()

散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。

输出结果:散点图的绘制


欢迎大家查看作者的主页,主页中还有关于编程与算法方面的更多内容,欢迎大家相互沟通学习~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值