Usa python para dibujar un gráfico de líneas

prefacio

Recientemente, estoy completando una tesis sobre pronóstico del tiempo, que involucra aprendizaje profundo y mapeo del tiempo. Creo que todavía es necesario escribir algunos resúmenes de mi experiencia en este proceso y aprovechar esta oportunidad para comunicarme con los colegas.

1. Comandos básicos

Cuando usamos el aprendizaje profundo, definitivamente usaremos comandos de dibujo, pérdida de dibujo y val_loss, etc., para ver el efecto del modelo.

plt.plot(x,y,lw=,ls=,c=, alpha=, label=)

x: los datos de la coordenada x

y: los datos de la coordenada y

lw: especifica el ancho de línea

ls: especifica el estilo de línea, ls='-' es una línea sólida, ls='--' es una línea discontinua, ls='-.' es una línea punteada, ls=':' es una línea discontinua

c: especifica el color de la línea, c='r' es rojo, c='k' es negro, c='y' es amarillo

alfa: especifica la transparencia de la línea, cuanto menor sea el valor, más transparente

etiqueta: especifica el significado de la línea

Ejemplo de código:

#导入库
import matplotlib.pyplot as plt
import numpy as np
#设定画布。dpi越大图越清晰,绘图时间越久
fig=plt.figure(figsize=(4, 4), dpi=300)
#导入数据
x=list(np.arange(1, 21))
y=np.random.randn(20)
#绘图命令
plt.plot(x, y, lw=4, ls='-', c='b', alpha=0.1)
plt.plot()
#show出图形
plt.show()
#保存图片
fig.savefig("画布")

Resultado del dibujo:

2. Dibujo basado en datos de Excel

En python, hay un paquete de biblioteca para procesamiento de datos llamado pandas

# 导包
import pandas as pd
# 读取excel文件
pd.read_excel('文件所在路径')

Extraiga una columna de datos en Excel: nombre de archivo ['nombre de columna'], el valor de retorno es una lista.

Después de obtener los datos que queremos en Excel, el siguiente paso es dibujar:

...
# 第一步绘制画布
fig=plt.figure(figsize=(7, 4), dpi=200)
# 第二步添加绘图区.
# subplot命令是在画布上添加一个绘图区,括号里的内容转述为汉字为:“创建一个一行一列的绘图区(一行一列就只有一个绘图区),ax1是第一个绘图区,facecolor用来设置画布背景颜色,默认为白色
ax1 = fig.add_subplot(111, facecolor='green')  

Si desea crear un área de subgráfico con dos filas y dos columnas (u otras dimensiones), respectivamente ax1, ax2, ax3, ax4:

ax1=fig.add_subplot(221)
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
ax4=fig.add_subplot(224)

El efecto es el siguiente:

3. Combine los ejes de coordenadas x (o y) de un gráfico y agregue una leyenda legend()

Para lograr el efecto de la imagen de arriba, el foco está en ax2=ax1.twinx(), ax2 y ax1 comparten el eje x, pero ax1 usa el eje y izquierdo, y ax2 usa el eje y derecho:


fig=plt.figure(figsize=(7,4),dpi=200)        # 新建画布
ax1=fig.add_subplot(111)                     # 设置绘图区
line1,=ax1.plot(times,temps,'r:',lw=1,label='气温')    # 创建折线
bar1 =ax1.bar(times,rains,color='b',label='降水量')    # 创建条状
ax2=ax1.twinx()                            # 设置共用x轴
line2,=ax2.plot(times,pressures,'k-',lw=1.2,label='气压')

# legend用来设置图例,还可以添加参数ncol='',该参数用来设置图例的列数,用于对齐
plt.legend((line1,bar1,line2),('气温','降水量','气压'),loc='center left',frameon=False,framealpha=0.5)       
ax1.set_xlabel('时间 \ h')                # 设置x轴
ax1.set_ylabel('气温(℃)\降水量(mm)')  # 设置左侧y轴
ax2.set_ylabel('气压(hPa)')             # 设置右侧y轴
plt.title("----")                         # 设置图的名称
plt.show()

4. Ajusta el estilo de fuente

Ajuste mediante un diccionario, almacene el nombre del parámetro y el tamaño del valor especificado que debe modificarse en el diccionario y almacene más parámetros:

font={'size':30,'color':'red'}
ax.set_xlabel('--',fontdict=font)
ax.set_ylabel('--',fontdict=font)

5. Dibujar líneas de cuadrícula

ax.grid()  # 开启x和y轴的网格
ax.grid(ls='--')   # 开启x和y轴的虚线网格
ax.grid(True,axis='x')   # 开启x轴的网格
ax.grid(True,axis='y')   # 开启y轴的网格

6. Combina los ejes de coordenadas de los dos gráficos

Configure el lienzo de la siguiente manera:

fig,((ax1),(ax2))=plt.subplots(2,1,figsize=(5,5),dpi=200,sharex='all')
fig.subplots_adjust(hspace=0)

Siete funciones poco utilizadas

1.ax.set_ylim(),ax.set_xlim()

Cuando se comparte el eje x(y), la escala cero del eje y(x) en ambos lados es inconsistente, y xlim e ylim se usan para establecer el rango del eje de coordenadas.

2.set_minor_locator()、set_major_locator()

set_minor_locator se usa para establecer o modificar el tamaño de la escala menor sobre la base de la escala principal, y set_major_locator se usa para modificar la visualización de unidades de la escala principal. Antes de su uso, el paquete de la biblioteca debe importarse:

import matplotlib.ticker as ticker

Por ejemplo:

(1) Aquí, establezca la escala secundaria en 0,1 unidades.

ax1.yaxis.set_minor_locator(ticker.MultipleLocator(0.1))

(2) Configure la escala principal a la derecha para mostrar cada 10 unidades.

ax2.yaxis.set_major_locator(ticker.MultipleLocator(10))

Supongo que te gusta

Origin blog.csdn.net/linxi4165/article/details/126086680
Recomendado
Clasificación