matplotlib——折线图

import matplotlib
import matplotlib.pyplot as plt
from matplotlib import font_manager
import numpy as np
import random


#数据
x = [i+1 for i in range(12)]
y_2020 = [random.randint(20,36) for i in range(12)]
y_2021 = [random.randint(20,36) for i in range(12)]
y_2022 = [random.randint(20,36) for i in range(12)]
x_ = ["{}月".format(i+1) for i in range(12)]

#显示中文字体
font = {
    'style' : "italic" ,
    'variant':"small-caps" ,
    'weight' : "50",
    'stretch': "extra-condensed",
    'size' : "20.0",
    'fname' :"C:\Windows\Fonts\simfang.ttf" ,
}

my_font = font_manager.FontProperties("font",**font)


#设置绘图窗口大小,背景颜色,框颜色等
plt.figure(num="123",figsize=(15,8),dpi=100,facecolor="Green",edgecolor="red",linewidth=20,frameon=True) 


#设置x轴和y轴的步长
plt.xticks(x,x_,rotation=30,fontproperties=my_font) #rotation=90 旋转90度
plt.yticks(np.arange(20,37,1))

#设置x轴和y轴的表示信息
# plt.xlabel("月份",size=120,color="red")
plt.xlabel("月份",fontproperties=my_font,color="blue")
plt.ylabel("销售额",fontproperties=my_font)

#设置标题
plt.title("2020-2022年销售额",fontproperties=my_font)

#绘制网格
plt.grid(alpha=2,which='both', axis='both',color="red",linestyle="-.",linewidth=1.0) 



#绘制折线图
plt.plot(x,                 # X轴数据
         y_2020,            # Y轴数据
         label="2020年",    #折线的标签名称
         ls="-",            # 线条样式
         lw=2,              # 线条宽度
         marker="o",        # X轴Y轴对应数据点的样式
         ms=20,             # 数据点的大小
         mfc="orange",      # 数据点填充颜色
         alpha=0.6)         # 数据点的透明度
plt.plot(x,                 # X轴数据
         y_2021,            # Y轴数据
         label="2021年",    #折线的标签名称
         ls="--",            # 线条样式
         lw=2,              # 线条宽度
         marker="o",        # X轴Y轴对应数据点的样式
         ms=20,             # 数据点的大小
         mfc="#008B45",      # 数据点填充颜色
         alpha=0.6)         # 数据点的透明度
plt.plot(x,                 # X轴数据
         y_2022,            # Y轴数据
         label="2021年",    #折线的标签名称
         ls="-.",            # 线条样式
         lw=2,              # 线条宽度
         marker="o",        # X轴Y轴对应数据点的样式
         ms=20,             # 数据点的大小
         mfc="#6495ED",      # 数据点填充颜色
         alpha=0.6)         # 数据点的透明度
# plt.plot(x,y_2020,label="2020年",color="#008B45",linestyle="-",linewidth=3,alpha=10) 
# plt.plot(x,y_2021,label="2021年",color="Black",linestyle="--",linewidth=3) 
# plt.plot(x,y_2022,label="2022年",color="#6495ED",linestyle="--",linewidth=3) 

#添加图例 得添加在plt.plot()后
plt.legend(prop=my_font,loc=1)

#添加水印
plt.text(x=8,                # 水印开头左下角对应的X点
         y=20,               # 水印开头左下角对应的Y点
         s="Matplotlib",    # 水印文本
         fontsize=50,       # 水印大小
         color="blue",      # 水印颜色
         alpha=0.5)         # 水印是通过透明度控制的


#保存图片
plt.savefig(r"C:\Users\jinag\Pictures\Saved Pictures\12.png")
plt.show()

 plt.plot(

         x,                 # X轴数据
         y_2021,            # Y轴数据
         label="2020年",    #折线的标签名称
         ls="-",            # 线条样式 -      -.   --
         lw=2,              # 线条宽度
         marker="o",        # X轴Y轴对应数据点的样式
         ms=20,             # 数据点的大小
         mfc="orange",      # 数据点填充颜色
         alpha=0.6)         # 数据点的透明度

具体解析

 

 'markers': {'.': 'point', ',': 'pixel', 'o': 'circle', 'v': 'triangle_down', '^': 'triangle_up', '<': 'triangle_left', '>': 'triangle_right', '1': 'tri_down', '2': 'tri_up', '3': 'tri_left', '4': 'tri_right', '8': 'octagon', 's': 'square', 'p': 'pentagon', '*': 'star', 'h': 'hexagon1', 'H': 'hexagon2', '+': 'plus', 'x': 'x', 'D': 'diamond', 'd': 'thin_diamond', '|': 'vline', '_': 'hline', 'P': 'plus_filled', 'X': 'x_filled', 0: 'tickleft', 1: 'tickright', 2: 'tickup', 3: 'tickdown', 4: 'caretleft', 5: 'caretright', 6: 'caretup', 7: 'caretdown', 8: 'caretleftbase', 9: 'caretrightbase', 10: 'caretupbase', 11: 'caretdownbase', 'None': 'nothing', None: 'nothing', ' ': 'nothing', '': 'nothing'},

markers参数
参数解析(全称)
.point
,pixel
ocircle
vtriangle_down
^triangle_up
<triangle_left'
>triangle_right
'1'tri_down
'2'tri_up
'3'tri_left
'4'tri_right
'8'octagon
ssquare
ppentagon
*star
hhexagon1
Hhexagon2
+plus
xx
Ddiamond
dthin_diamond
|vline
_hline
Pplus_filled
Xx_filled
0tickleft
1tickright
2tickup
3tickdown
4caretleft
5caretright
6caretup
7caretdown
8caretleftbase
9caretrightbase
10caretupbase
11caretdownbase
Nonenothing
'None'nothing
''nothing
' 'nothing
  
  
  
  

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值