使用 plot 绘制折线图,关于如何让坐标轴纵向显示和显示图例的一点技巧

这是比较基本的操作,我们就直接讲解代码了

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker


input_value = ['aaaaaaaaaaaaaab','bbbbbbbbbbbbbbc','cccccccccccccccccd','dddddddddddddddde','eeeeeeeeef','ffpp']
squares_1 = [1,5,3,2,6,4]
squares_2 = [2,6,1,8,6,1]

#返回图和坐标轴对象,该函数一般用在一张图有多张子图的时候
fig, ax = plt.subplots(1, 1)

# 绘制折线
plt.plot(input_value, squares_1, 'ro-', linewidth=1, label='fusion')#r表示红色,o表示circle,-表示折线
plt.plot(input_value, squares_2, 'g*-', linewidth=1, label='st-gcn')#g表示绿色,*表示星星
#这里在绘制的时候必须有label,不然绘制图例的时候会不显示

# 设置图例位置,注意这里必须要有形参loc,不能直接写数字
plt.legend(loc=1)

# 设置图表标题,并给坐标轴加标签
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

# 设置刻度标记的打印密度
tick_spacing = 1 #1代表连续打印,n代表没n个打印一次
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))

# 设置刻度标记的大小
plt.tick_params(axis='both', labelsize=14)

# 若要显示的坐标内容过长,横着显示会有重叠,需要竖着显示横轴内容,利用该函数将内容旋转
plt.xticks(rotation=90, fontsize=14)

plt.show()

关于折线格式和图例位置有几个参数可选:

图例:

     0: ‘best'
     1: ‘upper right'
     2: ‘upper left'
     3: ‘lower left'
     4: ‘lower right'
     5: ‘right'
     6: ‘center left'
     7: ‘center right'
     8: ‘lower center'
     9: ‘upper center'
     10: ‘center'

折线格式:

颜色:
     b: blue
     g: green
     r: red
     c: cyan
     m: magenta
     y: yellow
     k: black
     w: white
折线格式:
     -, solid
     --, dashed
     -., dashdot
     :, dotted
     '', ' ', None
marker
    '.': point marker
    ',': pixel marker
    'o': circle marker
    'v': triangle_down marker
    '^': triangle_up marker
    '<': triangle_left marker
    '>': triangle_right marker
    '1': tri_down marker
    '2': tri_up marker
    '3': tri_left marker
    '4': tri_right marker
    's': square marker
    'p': pentagon marker
    '*': star marker
    'h': hexagon1 marker
    'H': hexagon2 marker
    '+': plus marker
    'x': x marker
    'D': diamond marker
    'd': thin_diamond marker
    '|': vline marker        
    '_': hline marker

参考博文:https://www.cnblogs.com/onemorepoint/p/7482644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值