Python 之使用 matplotlib 画条形图、折线图、饼图以及散点图

以下展示一些用 matplotlib 画条形图、折线图、饼图以及散点图的示例,其中类似于图例、坐标轴名称,标题等的显示方法是一样的,不另做介绍。

0、引入模块
import random
import matplotlib.pyplot as plt
import matplotlib
#引入显示中文的黑体,如果中文显示乱码,解决方法参见我的上一篇博文
matplotlib.rcParams['font.family'] = "SimHei" 
matplotlib.rcParams["font.size"] = 10         #字号
matplotlib.rcParams['font.style'] = 'italic'   #字体样式  斜着
1、画条形图
def plot_histogram():
    x = list(range(7))
    y = random.sample(range(1,10), 7)
    plt.bar(x, y)
    plt.xlabel('x轴')
    plt.ylabel('y轴')
    plt.title('条形图')
    plt.show()

如上述代码所示,x 和 y 分别是生成的数据,
plt.bar() 则是画条形图的语法,
plt.xlabel()plt.ylabel() 表示x轴和y轴下的标题,
plt.title() 则是整幅图的标题,
对于图片,我们可以使用 plt.shhow() 用来即时展示图片,也可以使用 plt.savefig(path) 来存储图片。

以下是运行上面这个函数的结果:
在这里插入图片描述

2、画折线图

上面说过,matplotlib 的画图除了语法,其他类似于图例,标签,标题的用法和其他函数都一样,以下是折线图的一个示例:

def plot_line():
    x = list(range(7))
    y = random.sample(range(1,10), 7)
    plt.plot(x, y, label='y',marker='.', color='blue')
    plt.xlabel('x轴')
    plt.ylabel('y轴')
    plt.title('折线图')
    plt.legend()	#图例,用来表示图中线的信息
    plt.show()

如上述代码,折线图的语法是 plt.plot(),后面的参数信息详解如下:
label 表示的是标签,用于图例中显示,
marker 表示的是折线的每个点的标记类型,示例中是 点,还可以是 * 表示 * 号、- 表示实线、-- 表示破折号等。
color 表示的是线条的颜色,可以是英文,也可以 RGB 代码这种像素来表示颜色,如 color=’#7834ff’
plt.legend() 表示的是图例,在 matplotlib 中图例的位置是变化的,一般哪里有空位就跑到哪里去了,如果想要固定住,就需要额外用代码来调节。
以下是示例结果:
在这里插入图片描述
如果是要在一幅图里画多条折线,直接把 plt.plot() 这个函数再用一边即可:

def plot_line():
    x = list(range(7))
    y1 = random.sample(range(1,10), 7)
    y2 = random.sample(range(1,10), 7)
    plt.plot(x, y1, label='y1', marker='.', color='blue')
    plt.plot(x, y2, label='y2', marker='*', color='green')
    plt.xlabel('x轴')
    plt.ylabel('y轴')
    plt.title('折线图')
    plt.legend()
    plt.show()

以下是结果:
在这里插入图片描述

3、画饼图

饼图的语法是 plt.pie(),如下是示例:

def plot_pie():
	#这是每个部分的名称
    name_list = ['part1','part2','part3','part4']
    #这是每个部分对应的数据,与上述名称列表对应
    num_list = [56,33,78,95]
    #explode 是用于着重的表示,某个值不为0表示对应某个部分离开圆心的距离
    explode = (0,0,0.1,0)
    #每个部分所用的颜色
    colors = ['orange', 'yellow', 'lime', 'red']
	
	#如果画出来的圆是扁的,可以用以下三行代码把圆变成一个正圆
    plt.xlim(0.8)
    plt.ylim(0.8)
    plt.axes(aspect='equal')

    plt.pie(num_list, labels=name_list, explode=explode, colors=colors)
    plt.title('饼图', fontsize=18)
    plt.legend()
    plt.show()

plt.pie() 的用法详情都在代码示例中说明了,如下是示例运行结果:

在这里插入图片描述

4、画散点图

散点图的方法是 plt.scatter(),如下是使用示例:

def plot_scatter():
    x = list(range(7))
    y = random.sample(range(1,10), 7)
    plt.scatter(x, y)
    plt.title('散点图', fontsize=18)
    plt.show()

使用方法就很简答,如下是运行结果:
在这里插入图片描述
好了,以上就是这几种图的语法,接下来如果有时间的话,还会涉及以下方面知识点:网格的绘制、坐标名称过长换行的处理、x 轴和 y 轴的变化范围的确定等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值