matplotlib:图标样式的美化

12 篇文章 1 订阅
10 篇文章 0 订阅

目录

章节概括(练习示例概括)

案例一(图表样式、颜色、线型、数据标记、字体、主题风格)

案例二(填充区域)

简单的线型案例

正余弦曲线填充案例


章节概括(练习示例概括)

  • 案例一(图表样式、颜色、线型、数据标记、字体、主题风格)

    • import matplotlib as mpl
      import matplotlib.pyplot as plt
      import matplotlib.style as ms
      
      # print(mpl.rc_params()) # 打印图元素的索引配置项
      # plt.rcParams['lines.marker'] = '.'
      
      x = [1,2,3]
      y = [3,4,5]
      plt.plot(x, y, color=(1,0,0),
               ls=':',# 默认 - 实线 还有 - - 长虚线 : 短虚线  -. 点划线
               marker='^',# marker 数据标记类型# 类型太多,不写了
               markerfacecolor='y',# markerfacecolor 标记填充颜色  
               markeredgecolor='b',# 标记边框
               markeredgewidth=2,# markeredgewidth 标记边缘宽度
               markersize=3 # markersize 标记大小
      
              )
      # fmt 格式字符串 '[marker][color][linestyle]' 顺序随便换
      plt.plot([2,3],[4,4],':yx',[4,5],[4,4],'-.g^')
      plt.text(3, 4, # 坐标
               '今天星期一',# 注释文本
               fontfamily='KaiTi',# fontfamily/family 字体 中文黑体字体 英文Times New Roman
               fontsize='xx-large',# fontsize/size 字体大小 数字 或 xx-small medium large xx-large等
               fontstyle='italic',# fontstyle/style 字体风格 'normal' 正常 'italic'斜体 'oblique'倾斜
               fontweight='heavy',# # fontweight/weight 字体粗细 0-1000
               rotation=150  # rotation 字体旋转角度 逆时针
      
              )
      # print(ms.available) # 打印所有风格
      # use函数,使用某种风格 
      ms.use('seaborn-paper') # use('default') 恢复默认风格
      plt.show()

  • 案例二(填充区域)

    • import matplotlib.pyplot as plt
      import numpy as np
      
      plt.subplot(221)
      x = np.array([2, 6, 5, 3])
      y = np.array([2, 2, 4, 4])
      # fill() 填充多边形
      plt.fill(x, y, # x,y轴坐标
               color='y', # 图形颜色
               edgecolor='r',# 边框的颜色
               linewidth=10# 边框的宽度
              )
      
      plt.subplot(222)
      xx = np.linspace(0, 25, 256)
      y1, y2 = np.cos(xx), np.sin(xx)
      # fill_between() # 填充两条水平曲线之间的区域
      plt.fill_between(xx ,# x轴数据
                       y1,# y1数据
                       y2,# y2数据
                       y1>y2,# 填充条件
                       color='g'# 颜色
                      )
      plt.fill_between(xx ,y1, y2, y1<y2, color=(0.3,0.6,0.7))
      # fill_betweenx()
      plt.show()

 


简单的线型案例

  • import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.style as ms
    
    plt.rcParams['font.sans-serif'] = ["KaiTi"]
    plt.rcParams['axes.unicode_minus'] = False
    
    x = np.arange(1,13)
    y2018 = np.array([39, 20, 40, 38, 42, 43,
                      41, 41, 45, 48, 52, 50]
                    )
    y2019 = np.array([45, 28, 48, 49, 50, 51,
                      50, 50, 51, 52, 70, 65]
                    )
    # plt.xlabel('月份')
    plt.ylabel('业务量(亿件)')
    plt.plot(x,
             y2018,
             color='#8B0000',# 颜色
             marker='^',# 标记为正三角
             linestyle='--',# 线型为长虚线
             linewidth=1.5 # 线条宽度
            )
    plt.plot(x,
             y2019,
             color='#006374',# 颜色
             marker='d',# 标记为长菱形
             linestyle='-',# 线型为实线
             linewidth=1.5 # 线条宽度
            )
    # print(ms.available)
    ms.use('fivethirtyeight') # use函数,使用主题风格
    plt.show()


正余弦曲线填充案例

  • import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.style as ms
    
    plt.rcParams['font.sans-serif'] = ["KaiTi"]
    plt.rcParams['axes.unicode_minus'] = False
    
    x = np.linspace(-np.pi, np.pi, 256)
    ycos, ysin = np.cos(x), np.sin(x)
    plt.xticks([-np.pi, -np.pi/2, 0 , np.pi/2, np.pi],
              [r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$']
              ) 
    plt.plot(x, ycos, color='b', linewidth=1.0, alpha=0.5)
    plt.plot(x, ysin, color='r',linewidth=1.0,linestyle='--')
    
    plt.title('cos&sin')
    plt.legend(['Cos','Sin'],loc="upper left")
    plt.annotate('cos(1)',
                 xy=(1,np.cos(1)),
                 xytext=(np.pi/2-0.5,0.75),
                 arrowprops=dict(arrowstyle="->")
                )
    ms.use("default") # 由于前面一题切换了主题风格,这导致了网格和箭头无法显示,所以我们需要恢复默认的主题风格,方便操作
    plt.grid()# 添加网格
    plt.fill_between(x, ycos, abs(x) < 0.5, np.cos(x)>0.5 , color='green',alpha=0.25)
    plt.show()

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值