在python中使用matplotlib画简单折线图

live long and prosper

在python中安装matplotlib实现数据可视化(简单折线图)

1、安装matplotlib

在Windows平台上,试用win+R组合键打开命令行窗口,输入:

pip install matplotlib

即可完成安装,如果安装遇到阻碍,还请诸位看官另寻出路。

2、绘制一个简单的折线图

代码如下:

from matplotlib import pyplot as plt

squares = [1, 4, 9, 16, 25]
fig, ax = plt.subplots()
ax.plot(squares)

plt.show()

代码第一句导入模块pyplot并将其命名为plt,该模块包含许多生成图表的函数。
首先创建一个包含用于制作图标的数组的列表,然后调用函数subplots(),该函数用于在一张图片上生成多个图表。fig表示整张图片,ax用于表示图片中的各个图表。
接下来调用方法plot(),该方法可以根据给定的数据以有意义的方式绘制图表。
plt.show()函数可以打开matplotlib查看器来显示绘制的图表。
在这里插入图片描述

3、定制图表元素

pyplot模块中还提供了可以修改图表元素的方法

from matplotlib import pyplot as plt
#——————————————————
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.size'] = '20'
plt.rcParams['font.sans-serif'] = ['SimHei']
#——————————————————
squares = [1, 4, 9, 16, 25]
fig, ax = plt.subplots()
ax.plot(squares, linewidth=3)
ax.set_title("平方数", fontsize=24)
ax.set_xlabel("数值", fontsize=14)
ax.set_ylabel("数值的平方", fontsize=14)
ax.tick_params(axis='both', labelsize=14)

plt.show()

在plot()方法中的linewidth作用是控制绘制线条的粗细,set_title()则是编辑图表的标题以及控制字体大小,set_xlabel()和set_ylabel()则是分别编辑x轴和y轴上的标题以及标题大小,tick_params()用于设置坐标抽上刻度的大小,其中实参axis有三种类型:
·axis=‘x’ 只控制x轴上元素
·axis=‘y’ 只控制y轴上元素
·axis=‘both’ 同时控制两轴元素
labelsize指定字号。
另外在实际运行代码时,会出现中文字码无法显示的问题,尚书代码中切割线之间代码块为部分解决方案,具体方法请参考该文章
http://t.csdn.cn/zdIHL

4、校对图表

仔细观察图表我们会发现,图表表示与我们希望的大相径庭,例如,x=2时,y=4,而图非也,原因在于plot()将接收到的第一个数放在0的位置,之后的数值全部依次绘制。为了解决这个问题,我们还需要向plot()传递x的数值。

from matplotlib import pyplot as plt
input_numbers = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
fig, ax = plt.subplots()
ax.plot(input_numbers,squares)

plt.show()

在这个代码块中我们增加了输入值的列表input_numbers,在传递到plot()方法中,重新绘制图表
在这里插入图片描述
现在绘制的图表就没有差错了。

5、使用matplotlib内置样式

matplotlib扩展包李为绘制图表预制了许多样式(主题),使用下列代码查询

from matplotlib import pyplot as plt
plt.style.available

查询结果有:
在这里插入图片描述
我们选择一个seaborn主题,选择主题语句为:plt.style.use(‘seaborn’)

from matplotlib import pyplot as plt
plt.style.use('seaborn') 
input_numbers = [1, 2, 3, 4, 5]
squares = [1, 4, 9, 16, 25]
fig, ax = plt.subplots()
ax.plot(input_numbers,squares)

plt.show()

效果为:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值