python开发如何绘制柱状图
一不小心又失业了闲着没事,做了一下北京的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())
```
拿到打印地址 command + g 进入
然后编辑文件matplotlibrc
可以直接在最下面加上三行
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的 找工作的年龄区间先上处理完的数据 再上代码 (此数据仅供个人学习使用) ``` 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() # 显示柱状图 ``` 结束了,喜欢我的文章别忘点赞。 另外我还统计了薪资区间 工作的在职离职状态有需要的可以私信我哈