Quinta ronda: hermoso estilo y color

1. Estilo de dibujo de Matplotlib (estilo)

En matplotlib, la forma más fácil de establecer el estilo de dibujo es establecer el estilo por separado al dibujar elementos.
Pero a veces, cuando los usuarios están haciendo informes especiales, a menudo quieren mantener la uniformidad del estilo general sin modificar cada imagen una por una.Por lo tanto, la biblioteca matplotlib también proporciona cuatro formas de modificar el estilo global en lotes.

1. Estilos predefinidos de Matplotlib

Matplotlib proporciona íntimamente muchos estilos integrados para que los usen los usuarios. El método de uso es muy simple. Solo necesita ingresar el nombre del estilo que desea usar al principio del script de Python. Intente llamar a diferentes en estilos para comparar las diferencias.

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('default')
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5b718888>]

Inserte la descripción de la imagen aquí

plt.style.use('ggplot')
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5b9c82c8>]

Inserte la descripción de la imagen aquí

Entonces, ¿cuáles son los estilos integrados en matplotlib para su uso? En total, hay 26 estilos ricos para elegir.

print(plt.style.available)
['Solarize_Light2', '_classic_test_patch', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']

2. Hoja de estilo definida por el usuario

Cree una lista de estilos con el sufijo mplstyle en cualquier ruta, edite el archivo y agregue el siguiente contenido de estilo

axes.titlesize: 24
axes.labelsize: 20
lines.linewidth: 3
lines.markersize: 10
xtick.labelsize: 16
ytick.labelsize: 16

Observe los cambios del gráfico después de hacer referencia a la hoja de estilo personalizada.

plt.style.use('file/presentation.mplstyle')
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5ba3a788>]

Inserte la descripción de la imagen aquí

Vale la pena señalar que matplotlib admite la referencia de estilos mixtos. Solo necesita ingresar una lista de estilos al citar. Si el mismo parámetro está involucrado en varios estilos, la hoja de estilo de la derecha sobrescribirá el valor de la izquierda.

plt.style.use(['dark_background', 'file/presentation.mplstyle'])
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5cabfd88>]

Inserte la descripción de la imagen aquí

3. Establecer rcparams

También podemos cambiar el estilo modificando la configuración predeterminada de rc. Todas las configuraciones de rc se almacenan en una variable llamada matplotlib.rcParams.
Dibujo tras modificación, puede ver que el estilo de dibujo ha cambiado.

plt.style.use('default') # 恢复到默认样式
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5caf8448>]

Inserte la descripción de la imagen aquí

mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5cb68288>]

Inserte la descripción de la imagen aquí

Además, matplotlib también proporciona una forma más conveniente de modificar estilos, que puede modificar varios estilos a la vez.

mpl.rc('lines', linewidth=4, linestyle='-.')
plt.plot([1,2,3,4],[2,3,4,5])
[<matplotlib.lines.Line2D at 0x1ca5cbd1948>]

Inserte la descripción de la imagen aquí

4. Modifique el archivo matplotlibrc

Dado que matplotlib usa el archivo matplotlibrc para controlar el estilo, que es la configuración rc mencionada en la sección anterior, también podemos cambiar el estilo modificando el archivo matplotlibrc.

# 查找matplotlibrc文件的路径
mpl.matplotlib_fname()

Después de encontrar la ruta, puede editar directamente el archivo de estilo. El formato del archivo que ve después de abrir es más o menos así. Todos los parámetros de estilo se enumeran en el archivo. Busque el parámetro que desea modificar, como lines.linewidth: 8, y coloque el símbolo Eliminar la anotación anterior, y luego el dibujo encontrará el estilo y surtirá efecto.

En segundo lugar, la configuración de color de matplotlib (color)

En la visualización, también se debe considerar cuidadosamente cómo elegir el color correcto y la combinación adecuada, y la selección del color debe reflejar el tema de la imagen de visualización.
Analizando el color desde la perspectiva de la codificación visual, el color se puede dividir en 色相、亮度和饱和度tres canales visuales. En términos generales:
色相No hay un orden obvio y generalmente no se usa para expresar la cantidad de datos, sino para expresar la categoría de la columna de datos.
明度和饱和度: Visualmente, es fácil distinguir el nivel de prioridad, que se utiliza como canal visual para expresar el orden o expresar la cantidad de datos.
El conocimiento específico sobre la teoría del color no es el enfoque de este tutorial, consulte los materiales de extensión relevantes para el aprendizaje.
ECharts Data Visualization Lab
aprende estas 6 habilidades básicas de coincidencia visual de colores y restaura el significado de los datos en sí.

En matplotlib, hay varias formas de establecer colores:

1.RGB o RGBA

plt.style.use('default')
# 颜色用[0,1]之间的浮点数表示,四个分量按顺序分别为(red, green, blue, alpha),其中alpha透明度可省略
plt.plot([1,2,3],[4,5,6],color=(0.1, 0.2, 0.5))
plt.plot([4,5,6],[1,2,3],color=(0.1, 0.2, 0.5, 0.5))
[<matplotlib.lines.Line2D at 0x1ca5cc0f448>]

Inserte la descripción de la imagen aquí

2.HEX RGB o RGBA

# 用十六进制颜色码表示,同样最后两位表示透明度,可省略
plt.plot([1,2,3],[4,5,6],color='#0f0f0f')
plt.plot([4,5,6],[1,2,3],color='#0f0f0f80')
[<matplotlib.lines.Line2D at 0x1ca5cdf8708>]

Inserte la descripción de la imagen aquí

3. Escala de grises

# 当只有一个位于[0,1]的值时,表示灰度色阶
plt.plot([1,2,3],[4,5,6],color='0.5')
[<matplotlib.lines.Line2D at 0x1ca5cd19b08>]

Inserte la descripción de la imagen aquí

4. Color básico de un solo carácter

# matplotlib有八个基本颜色,可以用单字符串来表示,分别是'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w',对应的是blue, green, red, cyan, magenta, yellow, black, and white的英文缩写
plt.plot([1,2,3],[4,5,6],color='m')
[<matplotlib.lines.Line2D at 0x1ca5cd96248>]

Inserte la descripción de la imagen aquí

5. Nombre del color

# matplotlib提供了颜色对照表,可供查询颜色对应的名称
plt.plot([1,2,3],[4,5,6],color='tan')
[<matplotlib.lines.Line2D at 0x1ca5ba03c88>]

Inserte la descripción de la imagen aquí


6. Utilice el mapa de colores para establecer un conjunto de colores.

Algunos gráficos admiten el uso del mapa de colores para configurar un conjunto de colores, de modo que se pueda expresar más información a través de cambios de color en la visualización.

En matplotlib, hay cinco tipos de mapas de colores:

  • Secuencial. Por lo general, se usa un solo tono, con cambios graduales de brillo y aumento gradual de color, que se usa para expresar información secuencial.
  • Divergentes. Cambia el brillo y la saturación de dos colores diferentes que se encuentran en un color insaturado en el medio; este valor debe usarse cuando la información dibujada tiene un valor intermedio clave (como el terreno) o los datos se desvían de cero.
  • Cíclico. Cambia el brillo de dos colores diferentes para que se encuentren en un color insaturado en el medio y al principio / final. El valor utilizado para envolver el punto final, como el ángulo de fase, la dirección del viento o la hora del día.
  • Cualitativo. A menudo variado, se utiliza para indicar información que no tiene orden ni relación.
  • Diverso. Algunas combinaciones de colores variadas utilizadas en escenas específicas, como arco iris, océanos, terreno, etc.
x = np.random.randn(50)
y = np.random.randn(50)
plt.scatter(x,y,c=x,cmap='RdPu')
<matplotlib.collections.PathCollection at 0x1ca5ce33508>

Inserte la descripción de la imagen aquí

operación

1) Consulte el sitio web oficial de matplotlib, enumere los mapas de color incorporados de secuencial, divergente, cíclico, cualitativo y misceláneo, y 代码绘图muéstrelos en forma de

2) Aprenda a personalizar el mapa de colores y aplicarlo a cualquier conjunto de datos, dibuje una imagen, preste atención al tipo de mapa de colores para que coincida con las características del conjunto de datos y dé una explicación simple


Supongo que te gusta

Origin blog.csdn.net/weixin_44322234/article/details/111630888
Recomendado
Clasificación