matplotlib中多组数据折线图绘制及柱状图绘制

两组数据折线图对比

a=[1,0,1,1,2,4,3,2,3,4,5,6,5,4,3,3,1,1,1,1]
b=[1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
x=range(11,31)
plt.figure(figsize=(20,8),dpi=80)
_x_ticks=[‘age:{}’.format(i) for i in x]
plt.xticks(x,_x_ticks,rotation=45) #rotation设置轴标签旋转角度
plt.yticks(range(0,10))
plt.xlabel(‘AGE’)
plt.ylabel(‘ex’s number’)
plt.plot(x,a,’–o’,label=‘John’,color=‘r’,linewidth=5)#可以设置图例,颜色,粗细,线形
plt.plot(x,b,’-o’,label=‘Grace’,color=‘g’)
plt.legend(loc=‘upper right’)
plt.grid(alpha=0.5,linestyle=’–’)#同样可以设置线粗细,线形等
在这里插入图片描述
a=[‘战狼2’,‘星球大战1’,‘星球大战2’,‘星球大战3’,‘星球大战4’,‘星球大战5’,‘星球大战6’,‘死侍’,‘泰坦尼克’,‘复仇者联盟’]
b=[9,11,15,10,8,7,18,21,26,7]

from matplotlib import pyplot as plt
from matplotlib import font_manager #font_manager设置中文
import matplotlib
#fname为计算机字体地址
my_font=font_manager.FontProperties(fname=‘C:\Windows\Fonts\msyh.ttc’)
plt.figure(figsize=(20,8),dpi=80)
plt.xticks(list(range(max(b)+1))[::2])
plt.yticks(range(len(a)),a,fontproperties=my_font)
plt.barh(range(len(a)),b,height=0.6)
plt.xlabel(‘电影名称’,fontproperties=my_font)
plt.ylabel(‘票房’,fontproperties=my_font)
plt.title(‘电影票房汇总’,fontproperties=my_font)
plt.grid(alpha=0.5)
在这里插入图片描述
a=[‘蜘蛛侠:蜘蛛侠归来’,‘复仇者联盟4:终极一战’,‘猩球大战:猩球崛起’,‘叶问4’]
b_01=[1455,2414,6234,1241]
b_02=[5433,1252,3435,7283]
b_03=[787,3453,4121,6432]

my_font=font_manager.FontProperties(fname=‘C:\Windows\Fonts\msyh.ttc’)
plt.figure(figsize=(20,8),dpi=80)
x_width=0.2
x_01=list(range(len(a)))
x_02=[i+x_width for i in x_01]
x_03=[i+x_width*2 for i in x_01]
plt.xticks(x_02,a,fontproperties=my_font)
plt.yticks(list(range(max(b_01+b_02+b_03)+1000))[::500])
plt.xlabel(‘电影名称’,fontproperties=my_font)
plt.ylabel(‘票房’,fontproperties=my_font)
plt.title(‘第一季度电影票房’,fontproperties=my_font)

plt.bar(x_01,b_01,width=x_width,label=‘1月’)
plt.bar(x_02,b_02,width=x_width,label=‘2月’)
plt.bar(x_03,b_03,width=x_width,label=‘3月’)
plt.grid(alpha=0.5)
plt.legend(prop=my_font) #特别注意,legend中设置中文为prop,其他为fontproperties
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值