Python:Matplotlib(折线图/散点图/条形图/直方图/饼图)

本文介绍了Python的Matplotlib库,详细讲解了如何绘制折线图、散点图、条形图、直方图和饼图。通过具体案例展示了每种图表的绘制步骤,包括设置参数、数据处理等,帮助读者掌握数据可视化的基础技巧。
摘要由CSDN通过智能技术生成

Matplotlib介绍

Matplotlib包:
Matplotlib包专门用于开发2D图表、3D图表。(也就是画统计图)
Matplotlib官网:link.
Matplotlib下载和安装:建议直接下载安装Anaconda,直接拥有一个庞大包库,省去各种麻烦。link.
如果画图时遇到中文乱码问题:link.
matplotlib更多例子看官网:link.link.
统计图的优点:
统计表虽然能做到非常精确,但是不够直观。
统计图虽然不会那么精确,但更直观。
关于数据源:
把数据来源写一下,因为不同数据来源找到的数据或多或少有点差别,写下数据来源就算是一个凭证,也方便做后期校对。

1)折线图

折线图介绍:

折线图的特点:用于呈现数据的趋势变化
画折线图步骤:
1.导入matplotlib.pyplot
2.设定画图框架,如清晰度、框架大小、字体等等…
3.折线图的数据
4.画出折线图,设置各种参数(如图片水印、折线图各种效果…) + 设置x轴y轴(如刻度…) + 标题
附注:具体的各种参数可以看帮助文档或者网上找,自己可以慢慢调试,看各种参数的效果。

画折线图的具体案例:

1.一幅折线图
如果表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
附注:题目和数据来源于网络课程

import matplotlib.pyplot as plt
import random
def all_title(xlabel, ylabel, title):
    plt.xlabel(xlabel) #x轴标题
    plt.ylabel(ylabel) #y轴标题
    plt.title(title) #总标题 
#画图框架
plt.figure(figsize = (20, 6), dpi = 80)
plt.rcParams['font.sans-serif']=['SimHei'] #字体
#数据
x = range(120)
y = [random.randint(20, 35) for i in range(120)]
#折线图
plt.plot(x, y)
_xticks = ["10点{}分".format(i) for i in x if i < 60] 
_xticks += ["11点{}分".format(i-60) for i in x if i >= 60]
plt.xticks(x[::4], _xticks[::4], rotation = 45) #x轴刻度
all_title("时间", "温度", "温度随时间变化趋势图")
plt.text( 1, 20, "作者:xw", fontsize=40, color="gray", alpha=0.4)  #水印
plt.show()

在这里插入图片描述
2.多幅折线图
假设大家在30岁的时候,根据自己的实际情况,统计出来了你和你同桌各自从11岁到30岁每年交的女(男)朋友的数量如列表y1和y2,请在一个图中绘制出该数据的折线图,以便比较自己和同桌20年间的差异,同时分析每年交女(男)朋友的数量走势。
附注:题目和数据来源于网络课程

import matplotlib.pyplot as plt
def set_axes(axes):
    plt.sca(axes) #哪个图需要处理
    _xaxes = ["{}岁".format(i) for i in x] 
    plt.xticks(x, _xaxes)#x轴刻度
    plt.xlabel("年龄") #x轴标题
    plt.ylabel("朋友个数") #y轴标题
    plt.title("朋友个数随年龄变化") #总标题 
#画图框架
fig, axes = plt.subplots(nrows = 1, ncols = 2, figsize = (20, 8), dpi = 80)
#数据
x = range(11,31)
y1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
y2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
#折线图
axes[0].plot(x, y1, color = "r", linestyle = "--", linewidth = 1, alpha = 1)
set_axes(axes[0])
axes[1].plot(x, y2 )
set_axes(axes[1])
plt.text( 1, 1, "作者:xw", fontsize=40, color="gray", alpha=0.4)  #水印
plt.show()

在这里插入图片描述

2)散点图

散点图介绍:

散点图特点:呈现数据的分布规律、离散化程度
画散点图步骤:
1.导入matplotlib.pyplot
2.设定画图框架,如清晰度、框架大小、字体等等…
3.散点图的数据
4.画出散点图,设置各种参数(如图片水印、散点图各种效果…) + 设置x轴y轴(如刻度…) + 标题
附注:具体的各种参数可以看帮助文档或者网上找,自己可以慢慢调试,看各种参数的效果。

散点图的具体参数:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,vmin=None,vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
x,y :横纵坐标
s :散点(标记)的大小,默认20
c :散点(标记)的颜色,默认蓝色。b蓝色,c青色,g绿色,k黑色,m洋红,r红色,w白色,y黄色
marker :散点(标记)的形状,默认是".",即圆点。可自定义,可以自定义成其它形状,也可以自定义成文字,如" h e l l o hello hello"
cmap :英文对应colormap,用于表示从第一个点开始到最后一个点之间颜色渐进变化,如c=y1,cmap=plt.cm.Reds。
norm: normalize,
vmin:
vmax:
alpha :散点形状的透明度,alpha的范围为[0,1],从透明到不透明。
linewidths :散点(标记)的边框的宽度
verts:
edgecolors :散点(标记)的边框颜色
hold:
data:
**kwargs:

画散点图的具体案例:

北京2016年3,10月份每天白天的最高气温(分别位于列表y1,y2),那么此时如何寻找出气温和随时间(天)变化的某种规律?
附注:题目和数据来源于网络课程

import matplotlib.pyplot as plt
def all_title(xlabel, ylabel, title):
    plt.xlabel(xlabel) #x轴标题
    plt.ylabel(ylabel) #y轴标题
    plt.title(title) #总标题 
#画图框架
plt.figure(figsize = (20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值