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

【python画图】:从入门到精通绘制完美柱状图

目录

  • Python数据可视化:从入门到精通绘制完美柱状图
    • 一、基础篇:快速绘制柱状图
      • 1.1 使用Matplotlib基础绘制
      • 1.2 使用Pandas快速绘图
    • 二、进阶篇:专业级柱状图定制
      • 2.1 多系列柱状图
      • 2.2 堆叠柱状图
      • 2.3 水平柱状图
    • 三、专业参数速查表
      • Matplotlib bar() 核心参数
      • 常用方法扩展:
    • 四、专家级技巧
      • 4.1 动态柱状图
      • 4.2 大数据优化
    • 五、最佳实践总结

Python数据可视化:从入门到精通绘制完美柱状图

柱状图是数据可视化中最常用的图表类型之一,本文将带你从基础绘制到高级定制,全面掌握Python绘制柱状图的技巧,并附参数速查表。


一、基础篇:快速绘制柱状图

1.1 使用Matplotlib基础绘制

import matplotlib.pyplot as pltdata = [23, 45, 56, 78, 33]
labels = ['A', 'B', 'C', 'D', 'E']plt.bar(labels, data)
plt.title('Basic Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.show()

效果展示:

在这里插入图片描述

1.2 使用Pandas快速绘图

import matplotlib.pyplot as plt
import pandas as pddf = pd.DataFrame({'Category': ['A', 'B', 'C', 'D'],'Value': [25, 63, 42, 88]
})df.plot(kind='bar', x='Category', y='Value')
plt.show()

效果展示:

在这里插入图片描述


二、进阶篇:专业级柱状图定制

2.1 多系列柱状图

import numpy as np
import matplotlib.pyplot as pltlabels = ['A', 'B', 'C', 'D', 'E']
men_means = [20, 35, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
x = np.arange(len(labels))plt.bar(x - 0.2, men_means, 0.4, label='Men')
plt.bar(x + 0.2, women_means, 0.4, label='Women')
plt.xticks(x, labels)
plt.legend()
plt.show()

效果展示:

在这里插入图片描述

2.2 堆叠柱状图

plt.bar(labels, data1, label='Series 1')
plt.bar(labels, data2, bottom=data1, label='Series 2')

2.3 水平柱状图

plt.barh(labels, data, height=0.6)

三、专业参数速查表

Matplotlib bar() 核心参数

参数分类参数名称类型作用描述示例值
基本参数xarray-likex轴坐标位置[0,1,2,3]
heightarray-like柱体高度[10,20,30]
widthfloat柱体宽度0.8
样式参数colorstr/list柱体颜色‘blue’ 或 [‘r’,‘g’,‘b’]
edgecolorstr边框颜色‘black’
linewidthfloat边框宽度1.5
alphafloat(0-1)透明度0.7
标签参数tick_labellist坐标轴标签[‘A’,‘B’,‘C’]
labelstr图例标签‘Sales’
布局参数align{‘center’,‘edge’}对齐方式‘center’
orientation{‘v’,‘h’}方向‘v’
高级参数hatchstr填充图案‘/’, ‘O’, ‘x’
error_kwdict误差线参数{‘elinewidth’:2}
logbool对数坐标True

常用方法扩展:

# 添加数值标签
for rect in bars:height = rect.get_height()plt.annotate(f'{height}',xy=(rect.get_x() + rect.get_width()/2, height),ha='center', va='bottom')# 设置样式模板
plt.style.use('ggplot')# 保存高清图
plt.savefig('output.png', dpi=300, bbox_inches='tight')

四、专家级技巧

4.1 动态柱状图

from matplotlib.animation import FuncAnimationfig = plt.figure()
def update(frame):plt.cla()# 更新数据逻辑plt.bar(...)
ani = FuncAnimation(fig, update, frames=100)

4.2 大数据优化

# 使用numpy优化计算
data = np.random.rand(10000)
plt.hist(data, bins=50)  # 直方图变种# 降采样显示
plt.bar(range(0,1000,10), data[::10])

五、最佳实践总结

  1. 配色方案:使用seaborn颜色主题

    import seaborn as sns
    sns.set_palette("husl")
    
  2. 标签处理:自动旋转长标签

    plt.xticks(rotation=45, ha='right")
    
  3. 输出格式:矢量图优先

    plt.savefig('chart.svg', format='svg')
    

通过掌握这些技巧,你可以轻松制作出适合学术论文、商业报告等各种场景的专业级柱状图。建议保存参数速查表作为日常参考,并多加实践不同参数的组合效果。

相关文章:

  • 【Qt】初识Qt(一)
  • 4.15【Q】netsafe
  • 量化交易 - 布林带(Bollinger Bands)策略研究 - 源码
  • 智能制造中如何进行智能工厂三年规划设计?【附全文阅读】
  • 双指针算法(二)
  • 【系统搭建】DPDK实现两虚拟机基于testpmd和l2fwd的收发包
  • C++之类模板
  • 基于AI大语言模型的历史文献分析在气候与灾害重建领域中的技术应用
  • 对抗生成进化:基于DNA算法的AIGC检测绕过——让AI创作真正“隐形“
  • ubtuntu安装docker拉取iwebsec镜像
  • 智慧矿山数字孪生解决方案:技术剖析与实践
  • Windows快速切换屏幕/桌面
  • java基础练习DEMO
  • zynq7020 ubuntu_base 跟文件系统
  • 深入解析Java Socket服务器实现:从基础到优雅停机
  • ICP 减少的是 不必要 的回表,而不是 所有 回表
  • 《Java 并发编程实践》阅读笔记(一):线程重要性
  • 空洞卷积(膨胀卷积/扩张卷积)本质理解
  • Java 本地缓存的实现:常见的四种方式
  • 逻辑过期怎么设计
  • 范宇任上海宝山区副区长
  • 光明网评“泉州梦嘉商贸楼不到5年便成危楼”:监管是否尽职尽责?
  • 五一小长假,带着小狗去上海音乐厅
  • 上海市十六届人大常委会第二十一次会议表决通过有关人事任免事项
  • “乐购浦东”消费券明起发放,多个商家同期推出折扣促销活动
  • 以“最美通缉犯”为噱头直播?光明网:违法犯罪不应成网红跳板