Cómo dibujar un histograma en el desarrollo de python

Accidentalmente perdí mi trabajo y estaba inactivo, así que hice un análisis de datos de los profesionales de desarrollo de iOS en Beijing (esta información es solo para aprendizaje y uso personal) Primero, veamos cómo dibujar un histograma con python Primero, abra el comando pycharm para instalar

 pip3 install matplotlib
复制代码

Luego, importe el código fuente del archivo de encabezado para mostrarlo. Por supuesto, estoy aquí para mostrar la lógica.

# -*- 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()                    # 显示柱状图

复制代码

Histograma.jpgAquí hay un pequeño problema: si está utilizando una computadora Mac, los caracteres chinos mostrarán caracteres ilegibles, entonces, ¿cómo debe solucionarlo? Primero importe matplotlib para imprimir la dirección

import matplotlib
print(matplotlib.matplotlib_fname())
复制代码

imagen.pngObtenga el comando de dirección de impresión + g para ingresar y editar el archivo matplotlibrcimagen.png

Puede agregar tres líneas directamente en la parte inferior

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
复制代码

Luego elimine los dos archivos en el directorio ~/.matplotlib (los archivos en caché se pueden eliminar con confianza): rm -rf ~/.matplotlib/* Reinicie python para resolver el problema que no se puede resolver normalmente en chino.

Estos problemas han sido resueltos. Aquí procesé los datos y mostré el rango de edad de la búsqueda de empleo de Beijing iOS en marzo. Primero cargue los datos procesados ​​y luego agregue el código (estos datos son solo para uso personal de aprendizaje)edad laboral.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()  # 显示柱状图
复制代码

Se acabó, no olvides darle me gusta a mi artículo si te ha gustado. Además, también conté el estado en el trabajo y la renuncia del rango de salario. Si lo necesita, puede enviarme un mensaje privado.

Supongo que te gusta

Origin juejin.im/post/7212175872091324471
Recomendado
Clasificación