python开发如何绘制柱状图

语言: CN / TW / HK

一不小心又失业了闲着没事,做了一下北京的iOS开发从业者的数据分析(此数据仅供个人学习使用) 首先看看用python如何绘制的柱状图 首先打开pycharm 命令安装 pip3 install matplotlib 然后导入头文件源码展示 当然了我这里都是展示的逻辑 ```

-- coding: utf-8 --

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] plt.rcParams['axes.unicode_minus'] = False # 正常显示负号

X = ['A', 'B', 'C', 'D', 'E', 'F'] #X轴数据 Y = [100, 250, 300, 350, 200, 150] #Y轴数据

plt.style.use('ggplot') #添加网格线 plt.title("柱状图标题") #柱状图标题 plt.xlabel("X轴名称") #X轴名称 plt.ylabel("Y轴名称") #Y轴名称

plt.bar(X, Y, 0.4, color="red") #绘制柱状图

plt.savefig('柱状图1.jpg') # 保存到本地文件夹,当前路径下 plt.show() # 显示柱状图

![柱状图.jpg](http://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dc2d0e4bb92c4cfb8adf19e2f767315c~tplv-k3u1fbpfcp-zoom-1.image) 这里有个小问题如果用的是mac电脑中文会显示乱码 那应该如何处理呢。 首先导入matplotlib 在去打印地址 import matplotlib print(matplotlib.matplotlib_fname()) ``` image.png 拿到打印地址 command + g 进入 然后编辑文件matplotlibrc image.png

可以直接在最下面加上三行 font.family: sans-serif font.sans-serif: Arial Unicode MS, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif axes.unicode_minus: False 然后把~/.matplotlib目录下的两个文件删除掉(缓存文件可以放心删): rm -rf ~/.matplotlib/* 重启python 即可解决中文无法正常解决的问题。

这些问题都处理完了这里我处理了数据并且展示了 3月份北京iOS的 找工作的年龄区间先上处理完的数据 再上代码 (此数据仅供个人学习使用) 工作年龄.jpg ``` import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] plt.rcParams['axes.unicode_minus'] = False # 正常显示负号

准备数据

age20 = manager.age20 / manager.allWorkState age2025 = manager.age2025 / manager.allWorkState age2530 = manager.age2530 / manager.allWorkState age3035 = manager.age3035 / manager.allWorkState age3540 = manager.age3540 / manager.allWorkState age40 = manager.age40 / manager.allWorkState

Yage20 = (round(age20 * 100, 2)) Yage2025 = (round(age2025 * 100, 2)) Yage2530 = (round(age2530 * 100, 2)) Yage3035 = (round(age3035 * 100, 2)) Yage3540 = (round(age3540 * 100, 2)) Yage40 = (round(age40 * 100, 2))

X = ['小于20', '20-25', '25-30', '30-35', '35-40', '40以上'] # X轴数据 Y = [Yage20, Yage2025, Yage2530, Yage3035, Yage3540, Yage40] # Y轴数据

plt.style.use('ggplot') # 添加网格线 plt.title("iOS开发23年3月统计年龄统计") # 柱状图标题 plt.xlabel("目前工作年龄 仅做个人开发学习分析") # X轴名称 plt.ylabel("人数百分比统计") # Y轴名称

bar = plt.bar(X, Y, 0.4, color="red") # 绘制柱状图 plt.bar_label(bar, fmt='%g%%')

plt.savefig('工作年龄.jpg') # 保存到本地文件夹,当前路径下 plt.show() # 显示柱状图 ``` 结束了,喜欢我的文章别忘点赞。 另外我还统计了薪资区间 工作的在职离职状态有需要的可以私信我哈