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

辽宁建设工程信息网场内业绩/河南seo

辽宁建设工程信息网场内业绩,河南seo,网页设计与网站建设第05章在线测试,像做网站平台取什么名字好前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。以下文章来源于Trochil蜂鸟数据,作者:蜂鸟数据Trochil本文的主题是如何用Matplotlib创建柱状图。import numpy as np import …

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于Trochil蜂鸟数据,作者:蜂鸟数据Trochil

本文的主题是如何用Matplotlib创建柱状图。

import numpy as np
import matplotlib.pyplot as plt%matplotlib inlineplt.style.use("ggplot")

1. 基础柱状图

柱状图(bar chart): 用长方形(柱子)的长度表示数值的统计图表,又称为条形图。柱状图常用来对比两个以上的数值,适用于较小的数据集。

Matplotlib创建柱状图的接口:bar(x, height, width, bottom, align, color)

  • x: 柱子的x轴坐标
  • height: 柱子高度,y轴坐标
  • width: 柱子宽度,默认0.8
  • bottom: 柱子底部的y轴坐标,默认为0
  • align: 柱子与x轴坐标的对齐方式,默认'center'
  • color: 柱子颜色
  • orientation: 柱子方向,'horizontal' or 'vertical'

bar()默认创建垂直柱状图,barh()可创建水平柱状图,原理基本一致。

# 虚拟数据
x = ["A", "B", "C", "D", "E", "F", "G", "H"]
y = [150, 85.2, 65.2, 85, 45, 120, 51, 64]# 柱状图和散点图不同,散点图的(x,y)均为数值变量
# 柱状图的x轴显示分类变量,有两种处理方式
# 方式1:自己创建x轴坐标,并提供对应的标签
# 方式2:让Matplotlib自动完成映射# 方式1
# xticks = np.arange(len(x))  # 每根柱子的x轴坐标
# xlabels = x  # 每根柱子的标签
# fig, ax = plt.subplots(figsize=(10, 7))
# ax.bar(x=xticks, height=y, tick_label=xlabels)# 方式2(推荐)
fig, ax = plt.subplots(figsize=(10, 7))
ax.bar(x=x, height=y)
ax.set_title("Simple Bar Plot", fontsize=15)

b445e6903925ed209db52270f3d04a3c.png

2. 调整样式

Matplotlib创建图表的优势在于,用户可以定制每一个细节,接下来调整柱状图的样式,包括改变柱子的宽度,对齐方式和颜色,以及如何把数值添加到图表中。

x = ["A", "B", "C", "D", "E", "F", "G", "H"]
y = [150, 85.2, 65.2, 85, 45, 120, 51, 64]fig, ax = plt.subplots(figsize=(10, 7))
ax.bar(x=x,  # Matplotlib自动将非数值变量转化为x轴坐标height=y,  # 柱子高度,y轴坐标width=0.6,  # 柱子宽度,默认0.8,两根柱子中心的距离默认为1.0align="center",  # 柱子的对齐方式,'center' or 'edge'color="grey",  # 柱子颜色edgecolor="red",  # 柱子边框的颜色linewidth=2.0  # 柱子边框线的大小
)
ax.set_title("Adjust Styles of Bar plot", fontsize=15)# 一个常见的场景是:每根柱子上方添加数值标签
# 步骤:
# 1. 准备要添加的标签和坐标
# 2. 调用ax.annotate()将文本添加到图表
# 3. 调整样式,例如标签大小,颜色和对齐方式
xticks = ax.get_xticks()
for i in range(len(y)):xy = (xticks[i], y[i] * 1.03)s = str(y[i])ax.annotate(s=s,  # 要添加的文本xy=xy,  # 将文本添加到哪个位置fontsize=12,  # 标签大小color="blue",  # 标签颜色ha="center",  # 水平对齐va="baseline"  # 垂直对齐)

0e60b08f56d0bca066205db148b9c2cf.png

3. 堆积柱状图

有时候想在同一根柱子上显示两个不同的数值,即所谓堆积柱状图(stacked bar chart)。

假设一个场景,有6家门店,每家门店都销售三种产品,用堆积柱状图显示每家门店三种产品的销量。

shops = ["A", "B", "C", "D", "E", "F"]
sales_product_1 = [100, 85, 56, 42, 72, 15]
sales_product_2 = [50, 120, 65, 85, 25, 55]
sales_product_3 = [20, 35, 45, 27, 55, 65]fig, ax = plt.subplots(figsize=(10, 7))
# 先创建一根柱子,显示第一种产品的销量
ax.bar(shops, sales_product_1, color="red", label="Product_1")
# 第二根柱子“堆积”在第一根柱子上方,通过'bottom'调整,显示第二种产品的销量
ax.bar(shops, sales_product_2, color="blue", bottom=sales_product_1, label="Product_2")
# 第三根柱子“堆积”在第二根柱子上方,通过'bottom'调整,显示第三种产品的销量
ax.bar(shops, sales_product_3, color="green", bottom=np.array(sales_product_2) + np.array(sales_product_1), label="Product_3")ax.set_title("Stacked Bar plot", fontsize=15)
ax.set_xlabel("Shops")
ax.set_ylabel("Product Sales")
ax.legend()

8833c1515892062d679ea482d9f12acf.png

4. 分组柱状图

分组柱状图的原理跟堆积柱状图类似,但柱子不再是堆叠在一起,而是在相同的X轴标签上分成几根更窄的柱子,这些柱子都属于同一个组。

沿用上面的案例。

shops = ["A", "B", "C", "D", "E", "F"]
sales_product_1 = [100, 85, 56, 42, 72, 15]
sales_product_2 = [50, 120, 65, 85, 25, 55]
sales_product_3 = [20, 35, 45, 27, 55, 65]# 创建分组柱状图,需要自己控制x轴坐标
xticks = np.arange(len(shops))fig, ax = plt.subplots(figsize=(10, 7))
# 所有门店第一种产品的销量,注意控制柱子的宽度,这里选择0.25
ax.bar(xticks, sales_product_1, width=0.25, label="Product_1", color="red")
# 所有门店第二种产品的销量,通过微调x轴坐标来调整新增柱子的位置
ax.bar(xticks + 0.25, sales_product_2, width=0.25, label="Product_2", color="blue")
# 所有门店第三种产品的销量,继续微调x轴坐标调整新增柱子的位置
ax.bar(xticks + 0.5, sales_product_3, width=0.25, label="Product_3", color="green")ax.set_title("Grouped Bar plot", fontsize=15)
ax.set_xlabel("Shops")
ax.set_ylabel("Product Sales")
ax.legend()# 最后调整x轴标签的位置
ax.set_xticks(xticks + 0.25)
ax.set_xticklabels(shops)

316845b31dc09eb58aa83a8097259e96.png
http://www.lbrq.cn/news/936271.html

相关文章:

  • 简述网站建设及维护全过程/推广运营
  • 网站编程语言/外国搜索引擎登录入口
  • 佛山做外贸网站流程/百度推广售后客服电话
  • 淘宝客wordpress末班/汕头seo优化
  • 做网站源码/汕头seo
  • 做水利网站需要多少钱/互联网宣传推广
  • 什么网站上可以做简历/爱站seo查询软件
  • 苏州网站建设网站/品牌推广渠道
  • 买房子上哪个网站最好/东莞网站优化公司
  • 手机排行榜/seo的优点有哪些
  • 微信小程序设计网站/汕头网站优化
  • 手机端怎么打开响应式的网站/码迷seo
  • 网站建设 关于我们/kol推广
  • 做网站主要来源/促销活动推广语言
  • 网站建设的基本规范有什么/网站建设公司苏州
  • 无锡网络公司网站建设/体球网足球世界杯
  • 民宿网站开发方案/网络seo啥意思
  • 高端视觉网站/怎样做品牌推广
  • seo网站优化报价/网站域名备案查询
  • 网站 刷流量/360收录提交入口网址
  • 播放视频网站怎么做/电脑清理优化大师
  • 做一元购网站会被封吗/网络平台怎么推广
  • 潜江资讯网二手房出售/优化方案官方网站
  • 网站后台程序怎么做/seo工具查询
  • 学营销app哪个更好/长沙seo网站管理
  • 漳州网站建设公司/什么平台免费推广效果最好
  • 手机网站最小宽度/怎么宣传自己的产品
  • 橙子建站验证码是干啥的/西安竞价推广托管
  • h5网站建设价格/文章代写
  • wordpress search everything/郑州网站建设专业乐云seo
  • sqli-labs通关笔记-第25关GET字符注入(过滤or和and 脚本法)
  • 通缩漩涡中的测量突围:新启航如何以国产 3D 白光干涉仪劈开半导体成本困局?
  • SeeMoE:从零开始实现一个MoE视觉语言模型
  • 基于JavaWeb的兼职发布平台的设计与实现
  • 深入解析 Spring 获取 XML 验证模式的过程
  • 力扣热题100----------41.缺少的第一个正数