m0_74877393 2022-11-25 22:04 采纳率: 66.7%
浏览 3
已结题

求解释Python 绘条形图代码


#python 画柱状图折线图
#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as mtick  
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
a=[20880.6,23223.8,24555.7,27146.8,]  #数据
b=[108.9,108.1,104,107.3]
l=[i for i in range(4)]

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

fmt='%.2f%%'
yticks = mtick.FormatStrFormatter(fmt)  #设置百分比形式的坐标轴
lx=[u'2018',u'2019',u'2020',u'2021']

fig = plt.figure()  
ax1 = fig.add_subplot(111)  
ax1.plot(l, b,'or-',label=u'同比增长指数');
ax1.yaxis.set_major_formatter(yticks)
for i,(_x,_y) in enumerate(zip(l,b)):  
    plt.text(_x,_y,b[i],color='black',fontsize=10,)  #将数值显示在图形上
ax1.legend(loc=1)
ax1.set_ylim([100, 110]);
ax1.set_ylabel('同比增长指数');
plt.legend(prop={'family':'SimHei','size':8})  #设置中文
ax2 = ax1.twinx() # this is the important function  
plt.bar(l,a,alpha=0.3,color='yellow',label=u'云南省地区生产总值(亿元)')  
ax2.legend(loc=2)
ax2.set_ylim([20000, 30000])  #设置y轴取值范围
plt.legend(prop={'family':'SimHei','size':8},loc="upper left") 
plt.xticks(l,lx)
plt.show()



画柱状图折线图看不懂啊,百度了好几天还是一知半解,最好解释的清楚一点,如果能写成下面那样的就最好了,我做的图是地区生产总值,研究疫情对经济的影响

img

  • 写回答

1条回答 默认 最新

  • BsonJ 2022-11-25 22:23
    关注

    前面主要是数据的准备的。代码的核心是最后那几行,负责绘制柱状图。将数据放到对应的参数里,如:标题、颜色、显示的取值范围、标题在图表中的位置等等

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月25日

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大