一个最简单的折线图
有一个小问题: 不知道为什么, y的值画出来是int类型, 不是float类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
from matplotlib import style import numpy as np import matplotlib.pyplot as plt style.use('fivethirtyeight') # 用了这个样式, 图片看起来要比默认好看一些 %matplotlib inline # 这是一个魔法函数, 可以在jupyter notebook上面直接显示图片 x = [0,1,2,3,4,5,6] y = [0.3,0.4,2.0,5.0,3.0,4.5,4.0] #创建绘图对象,figsize参数可以指定绘图对象的宽度和高度,单位为英寸,一英寸=80px plt.figure(figsize=(8,4)) plt.plot(x,y,"b--",linewidth=1) #在当前绘图对象绘图(X轴,Y轴,蓝色虚线,线宽度) plt.plot(x,y,"r*") # 在每个点上面画出五角星, 标注一下 plt.xlabel("Time(s)") #X轴标签 plt.ylabel("Volt") #Y轴标签 plt.title("Line plot") #图标题 # 在图上面画出文字 for a,b in zip(x,y) : plt.text(a, b+0.1, '%.0f' % float(b), ha='center', va= 'bottom',fontsize=11) plt.show() |
在折线图上面画出阴影背景 (多边形)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
from matplotlib import style import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Polygon style.use('fivethirtyeight') %matplotlib inline x = [0,1,2,3,4,5,6] y = [0.3,0.4,2.0,5.0,3.0,4.5,4.0] a, b = 3,5 # 阴影区域横坐标 fig, ax = plt.subplots() # Creates just a figure and only one subplot plt.plot(x, y, 'r', linewidth=2) # 画出折线图 plt.ylim(ymin=-1) # 设置y轴最小值为-1 , 仅仅是demo作用. y_min, y_max = ax.get_ylim() # 绘制阴影背景 ix = x[a:b+1] iy = y[a:b+1] verts = [(ix[0], y_min)] + list(zip(ix, iy)) + [(ix[-1], y_min)] poly = Polygon(verts,alpha=0.8, color="#FEFBE7") ax.add_patch(poly) # 如果需要旋转X轴坐标的文字 # plt.xticks(x, x, rotation='45') , # 第一个x是原始的x轴的值, 第二个x是替换的x轴的值. 在这里只是不修改值. plt.show() |
注意: 貌似在同一个图形之中不支持多个多边形.

文章评论
您好,我是人民邮电社的编辑,我社想邀请您这边出版关于数据分析类的图书,书籍会在京东当当以及全国连锁的新华文轩进行销售,图书的出版也是对贵方形象与品牌的一种有力宣传,不知道您这边是否有意愿或兴趣呢?如果有兴趣可以添加我的微信进行详细的沟通。我的微信号是:yoyoooO-123