一个简单的折线图
画折线图至少需要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') # 保存该图片
运行结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74737.html