【python】画折线图

一个简单的折线图

画折线图至少需要2个列表:横坐标列表和纵坐标列表,两个坐标的位置一一对应。

from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 添加这条可以让图形显示中文

x_axis_data = [1, 2, 3, 4, 5]
y_axis_data = [1, 2, 3, 4, 5]

# plot中参数的含义分别是横轴值,纵轴值,线的形状,颜色,透明度,线的宽度和标签
plt.plot(x_axis_data, y_axis_data, 'ro-', color='#4169E1', alpha=0.8, linewidth=1, label='一些数字')

# 显示标签,如果不加这句,即使在plot中加了label='一些数字'的参数,最终还是不会显示标签
plt.legend(loc="upper right")
plt.xlabel('x轴数字')
plt.ylabel('y轴数字')

plt.show()
# plt.savefig('demo.jpg')  # 保存该图片

上述代码显示结果如下:

代码语句说明:

plt.plot(x_axis_data, y_axis_data, 'ro-', color='#4169E1', alpha=0.8, label='一些数字')

这句话按照横纵坐标的两个列表画了一条线
'ro-'是线条的格式,这个线条格式其实有很多含义,下面是一些例子:

线的格式显示形式
‘ro-’红色的线(red),坐标点会有小圆点(o)
‘ro’红色的线(red),坐标点用小圆点(o)表示,但是这个线条本身不会显示出来
‘r–’红色(red)的虚线
‘bs’蓝色(blue)的方块(square)
‘g^’绿色(green)的三角

颜色可以写成color='blue'或者写成十六进制的颜色值color='#4169E1',可以在这个网站找一些自己喜欢的十六进制颜色。

alpha是透明度,label是该条线对应的标签。

plt.legend(loc="upper right")

这句代码作用是显示标签,显示的位置是右上角,这个地方可选的参数还有:

参数参数码
‘best’0
‘upper right’1
‘upper left’2
‘lower left’3
‘lower right’4
‘right’5
‘center left’6
‘center right’7
‘lower center’8
‘upper center’9
‘center’10

设置参数为'best'时,会自动选一个位置放标签,并且选的位置是最好的,遮盖线条的比例最小



同一张图上显示多条数据

有时候我们需要在一张图上显示多条数据,可以这么写:

x_axis_data = [i for i in range(10)]
y_axis_data1 = [12,17,15,12,16,14,15,13,18,19]
y_axis_data2 = [1,4,2,6,4,2,1,6,4,2]

plt.plot(x_axis_data, y_axis_data1)
plt.plot(x_axis_data, y_axis_data2)
plt.show()

显示结果如下:



给这个折线图中的点加数据标签

加数据标签可以定量的分析折线的数据,加标签还比较简单,只要加上这句就可以了:

for x, y in zip(x_axis_data, y_axis_data):
    plt.text(x, y+0.3, '%.0f' % y, ha='center', va='bottom', fontsize=10.5)

所有代码:

from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']

x_axis_data = [1, 2, 3, 4, 5]
y_axis_data = [1, 2, 3, 4, 5]

# plot中参数的含义分别是横轴值,纵轴值,颜色,透明度和标签
plt.plot(x_axis_data, y_axis_data, 'ro-', color='#4169E1', alpha=0.8, label='一些数字')

for x, y in zip(x_axis_data, y_axis_data):
    plt.text(x, y+0.3, '%.0f' % y, ha='center', va='bottom', fontsize=10.5)


# 显示标签,如果不加这句,即使加了label='一些数字'的参数,最终还是不会显示标签
plt.legend(loc="upper right")
plt.xlabel('x轴数字')
plt.ylabel('y轴数字')

plt.show()
# plt.savefig('demo.jpg')  # 保存该图片

运行结果:

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值