当前位置: 首页 > news >正文

精品网站建设费用 搜搜磐石网络北京网页

精品网站建设费用 搜搜磐石网络,北京网页,wordpress 站内搜索,企业 做网站python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()] 效果图如下所示#xff1a; 就是这个样子#xff0c;一般比较少见将柱形图从上往下绘制的。可能是会为了更好的展示数据对比结果吧。这里绘图的主要思路如下#xff1a; 利用ax.twinx()这个函数生成一个新的x轴…python 绘图 —— 绘制从顶部向底部显示的柱形图[ax.bar()] 效果图如下所示 就是这个样子一般比较少见将柱形图从上往下绘制的。可能是会为了更好的展示数据对比结果吧。这里绘图的主要思路如下 利用ax.twinx()这个函数生成一个新的x轴相当于复制了一个x轴使用ax.invert_yaxis()这个函数反转新x轴对应的y轴使其从图中左边0-100排列变成100-0排列这样就保证了图片从顶往底显示的效果手动设置新的y轴的ticklabel使其展现为0-100排列。 具体步骤如下所示 1、首先是生成随机一组数据并绘制柱形图 import numpy as np import matplotlib.ticker as mticker import matplotlib.pyplot as plt ########################################################################### plt.rcParams[font.sans-serif][SimHei]#中文 plt.rcParams[axes.unicode_minus]False #显示负号 # ####################################data################################# n6 y np.linspace(10,70,n) y1 np.linspace(10,60,n) y2 np.linspace(10,50,n) xnp.linspace(2000,2020,n)data np.array([y,y1,y2]) width 0.6 # ####################################draw################################# figplt.figure(figsize(5,7),dpi500)#添加画布等 axfig.add_axes([0,0,1,0.3]) ax.set(xlim(2000,2021),ylim(0,100)) bar1ax.bar(x - width,data[0],# colornp.where(y0,r,b), #判断大于0的为红色负的为蓝色width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 #柱形离底部的距离) bar2ax.bar(x width,data[1],# colornp.where(y0,r,b), #判断大于0的为红色负的为蓝色width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 #柱形离底部的距离) bar3ax.bar(x ,data[2],# colornp.where(y0,r,b), #判断大于0的为红色负的为蓝色width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 #柱形离底部的距离) ########################################################################## ax.set(xlim(1999,2021),ylim(0,100)) #设置x、y轴的最大最小范围 ax.set_xticks(np.linspace(2000, 2020, n)) #设置x轴显示的标签 #添加注释 ax.axhline(y0,ck,ls:,lw1) #添加水平线设置颜色位置水平线的style #设置轴的参数间隔 ax.tick_params(axisboth,whichboth,directionin) ax.yaxis.set_minor_locator(mticker.MultipleLocator(5)) ax.xaxis.set_minor_locator(mticker.MultipleLocator(5)) # 设置label ax.set_xlabel(年份 (Year)) ax.set_ylabel(数值 (%) ) ax.set_title(柱状图,fontsize10)2、复制一个新的x轴并生成一组数据绘制柱形图 ax2 ax.twinx() ax2.set(xlim(1999,2021),ylim(100)) bar4 ax2.bar(x,np.linspace(4,6,n),width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 , #柱形离底部的距离colorr) ax2.yaxis.set_minor_locator(mticker.MultipleLocator(5))3、翻转y轴稍微调整一下tick的方向 ax2.invert_yaxis() ax2.tick_params(axisboth,tickdirin) ax2.tick_params(whichminor,tickdirin)4、 重新定义ticklabel的值 ax2.set_yticklabels([0,20,40,60,80,100][::-1])以下是全部的代码 # -*- coding: utf-8 -*-Created on Tue Feb 21 14:49:36 2023author: jianpublog : https://blog.csdn.net/weixin_44237337?spm1000.2115.3001.5343email: 211311040008hhu.edu.cnintroduction : keep learning althongh walk slowly import numpy as np import matplotlib.ticker as mticker import matplotlib.pyplot as plt ########################################################################### plt.rcParams[font.sans-serif][SimHei]#中文 plt.rcParams[axes.unicode_minus]False #显示负号 # ####################################data################################# n6 y np.linspace(10,70,n) y1 np.linspace(10,60,n) y2 np.linspace(10,50,n) xnp.linspace(2000,2020,n)data np.array([y,y1,y2]) width 0.6 # ####################################draw################################# figplt.figure(figsize(5,7),dpi500)#添加画布等 axfig.add_axes([0,0,1,0.3]) ax.set(xlim(2000,2021),ylim(0,100)) bar1ax.bar(x - width,data[0],# colornp.where(y0,r,b), #判断大于0的为红色负的为蓝色width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 #柱形离底部的距离) bar2ax.bar(x width,data[1],# colornp.where(y0,r,b), #判断大于0的为红色负的为蓝色width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 #柱形离底部的距离) bar3ax.bar(x ,data[2],# colornp.where(y0,r,b), #判断大于0的为红色负的为蓝色width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 #柱形离底部的距离) ########################################################################## ax.set(xlim(1999,2021),ylim(0,100)) #设置x、y轴的最大最小范围 ax.set_xticks(np.linspace(2000, 2020, n)) #设置x轴显示的标签 #添加注释 ax.axhline(y0,ck,ls:,lw1) #添加水平线设置颜色位置水平线的style #设置轴的参数间隔 ax.tick_params(axisboth,whichboth,directionin) ax.yaxis.set_minor_locator(mticker.MultipleLocator(5)) ax.xaxis.set_minor_locator(mticker.MultipleLocator(5)) # 设置label ax.set_xlabel(年份 (Year)) ax.set_ylabel(数值 (%) ) ax.set_title(柱状图,fontsize10)#添加图例 ax2 ax.twinx() ax2.invert_yaxis() ax2.set(xlim(1999,2021),ylim(100)) ax2.set_yticklabels([0,20,40,60,80,100][::-1]) bar4 ax2.bar(x,np.linspace(4,6,n),width0.5, #柱形宽度aligncenter, #柱形的位置edge/center alpha0.8, #柱形透明度hatch*, #柱形表明的形状样式edgecolork,#柱形边缘颜色bottom0.01 , #柱形离底部的距离colorr) ax2.yaxis.set_minor_locator(mticker.MultipleLocator(5)) ax2.tick_params(axisboth,tickdirin) ax2.tick_params(whichminor,tickdirin) ax.legend([bar1,bar2,bar3,bar4],[柱形1,柱形2,柱形3,柱形4]) plt.show()具体代码是按照之前的一个教程修改的绘制正负区分的柱形图[ax.bar()] 欢迎评论或者加我交流分享更简单的绘制方法~
http://www.tj-hxxt.cn/news/225192.html

相关文章:

  • 优秀网站建设模板软件开发专业信息
  • 刚做的网站怎么快速搜索到怎样同步wordpress
  • 网站建设app开发小程序开发长春网站建设多少钱
  • 周口师范做网站河北项目网在建项目
  • python做个人网站青州网站开发
  • 青岛专业网站建设定制next wordpress
  • 微信开发网站网站后期维护流程
  • 做网站一个月多少钱专业建站推荐
  • 网站开发职业前景评估自己怎么注册公司网站流程
  • 设计报价网站杭州蚂蚁 做网站的公司
  • 东莞网站建设 服饰用户浏览网站的方式
  • 建设新北川网站内蒙古呼和浩特邮编
  • 重庆推广网站排名公司商务网站建设流程
  • 农家院网站素材做网站的时候怎么把图片往左移
  • wordpress 资讯站赣州网联科技有限公司
  • 网站建设的总体需求是什么百度风云榜热搜
  • 网站设计的关键初二怎么做网站
  • 银川建网站自己做微信优惠券需要网站
  • 天河网站建设服务做别人一样的网站吗
  • 无锡网站建设网页制作网站外链推广工具
  • 网页设计与网站架设如何在手机上做app
  • 无锡品牌网站建设介绍建筑公司网站建设方案
  • 古董手表网站网络销售怎么跟客户聊天
  • 网站如何做死链接提交济南全屋定制品牌
  • 石家庄栾城区建设局网站国外扁平化风格网站
  • 长沙网站优化方案网站后台字体安装
  • 二手车网站程序wordpress重装到恢复
  • 电话网站域名到期东莞企业网站定制设计
  • 响应式网站开发要注意哪些扬中零壹网站建设
  • 摄影网站开题报告天眼在线查企业查询