Technology sharing

Explore Matplotlib - maps calor drawing

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Introductio

Heatmaps efficax modus est ad exhibendam matricem datam per colorem destinata. Matplotlibimshow Munera valida sunt instrumentum ad varios heatmaps creandos. Priusquam exemplum incipiamus, primum intelligamus ambitum principalem;

  • data:vulva data ad insidias.
  • cmap:Color destinata distributio colorum in tabula caloris determinat.
  • interpolatioModus interpolationis, lenitatem afficiens caloris map.
  • vmin et vmax;Minutissimas et maximas valores pro map colori denota.

2. Basic calor map

Primum, praecipuum caloris tabulam ducamus ut altiore notitiarum seriei distributione ostendatur:

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. data = np.random.random((10, 10)) # 生成随机矩阵数据
  4. plt.imshow(data, cmap='viridis', interpolation='nearest')
  5. plt.colorbar()
  6. plt.title('基本热力图')
  7. plt.show()

In hoc simplici exemplo utimurviridiscolormap etnearestinterpolationis modum.

image-20240204002238552

3. Custom color tabularum faciendarum

Matplotlib varias tabulas coloratas aedificatas sustinet, sed etiam mappam colorum consuescere possumus ut caloris mappam magis personalem reddant. Hic est exemplum tabulae consuetudinis colorum:

  1. custom_cmap = plt.cm.get_cmap('coolwarm', 5) # 从'coolwarm'中选择5个颜色
  2. plt.imshow(data, cmap=custom_cmap, interpolation='bilinear')
  3. plt.colorbar()
  4. plt.title('自定义颜色映射')
  5. plt.show()

4. Add comment

Annotationes additis ad tabulam calefactam clarius significationem notitiarum significare potest.uti possumusannotateMunus pittacii valores in tabula calefacti;

  1. fig, ax = plt.subplots()
  2. im = ax.imshow(data, cmap='plasma', interpolation='bicubic')
  3. for i in range(len(data)):
  4. for j in range(len(data[i])):
  5. text = ax.text(j, i, f'{data[i, j]:.2f}', ha='center', va='center', color='w')
  6. plt.colorbar(im)
  7. plt.title('带有注释的热力图')
  8. plt.show()

5. Calor maps diversarum figurarum

Matplotlib etiam fovet tabulas caloris diversarum figurarum trahentes, ut puncta circularia vel elliptica. Hic est exemplum.

  1. from matplotlib.patches import Ellipse
  2. fig, ax = plt.subplots()
  3. im = ax.imshow(data, cmap='YlGnBu', interpolation='bicubic')
  4. # 添加椭圆形状的点
  5. for i in range(len(data)):
  6. for j in range(len(data[i])):
  7. ellipse = Ellipse((j, i), 0.8, 0.8, edgecolor='w', facecolor='none')
  8. ax.add_patch(ellipse)
  9. plt.colorbar(im)
  10. plt.title('不同形状的热力图')
  11. plt.show()

6. Acta calor map

Aliquando in matrice aliquas caudices illustrare volumus ut informationes principaliores magis faciant.Hoc facere possumus utendoimshowof*extentUt id consequat urna,

  1. fig, ax = plt.subplots()
  2. block_data = np.random.random((5, 5)) # 生成块状数据
  3. ax.imshow(block_data, cmap='Reds', interpolation='nearest', extent=[2, 7, 2, 7])
  4. plt.colorbar()
  5. plt.title('分块热力图')
  6. plt.show()

image-20240204002304491

7. Multi-subgraph tabula caloris

In quibusdam casibus necesse est ut multiplices tabulas caloris in eodem grapho exhiberet varias notitiarum rationes comparare vel exhibere.Hoc potest fieri per Matplotlibsubplotefficere;

  1. fig, axs = plt.subplots(1, 2, figsize=(10, 4)) # 一行两列的子图
  2. # 第一个子图
  3. axs[0].imshow(data, cmap='Blues', interpolation='nearest')
  4. axs[0].set_title('子图1')
  5. # 第二个子图
  6. axs[1].imshow(data.T, cmap='Oranges', interpolation='bicubic') # 转置数据以展示不同热力图
  7. axs[1].set_title('子图2')
  8. plt.show()

8. 3D calor map

Matplotlib etiam subsidia mappis caloris 3D extractionis, quae valde utilis est ad informationem trium dimensionis structuram exhibendam;

  1. from mpl_toolkits.mplot3d import Axes3D
  2. fig = plt.figure(figsize=(8, 6))
  3. ax = fig.add_subplot(111, projection='3d')
  4. x, y = np.meshgrid(range(len(data)), range(len(data)))
  5. ax.plot_surface(x, y, data, cmap='viridis')
  6. ax.set_title('3D热力图')
  7. plt.show()

9. Provectus color mapping et color talea occasus

Matplotlib ulteriorem permittit explorationem occasus colorum et colorum provectorum ad necessitates magis implicatas occurrere. Hic est exemplum quod demonstrat customizationem colorariam et addendo labels coloratos;

  1. fig, ax = plt.subplots()
  2. im = ax.imshow(data, cmap='coolwarm', interpolation='nearest')
  3. # 自定义颜色栏
  4. cbar = plt.colorbar(im, ax=ax, fraction=0.046, pad=0.04)
  5. cbar.set_label('数据值', rotation=270, labelpad=15)
  6. plt.title('高级颜色栏设置')
  7. plt.show()

image-20240204002506344

10. Dynamic ostentationem calor map

Interdum, in notitia dynamice modo mutationes ostendere volumus. Hoc fieri potest utendo Matplotlib .FuncAnimation perficiat. Tabula geographica dynamica sequens exemplum simplex est;

  1. from matplotlib.animation import FuncAnimation
  2. fig, ax = plt.subplots()
  3. data_frames = [np.random.random((10, 10)) for _ in range(10)] # 生成多帧数据
  4. def update(frame):
  5. ax.clear()
  6. im = ax.imshow(data_frames[frame], cmap='Blues', interpolation='nearest')
  7. plt.title(f'动态热力图 - 帧 {frame}')
  8. ani = FuncAnimation(fig, update, frames=len(data_frames), interval=500, repeat=False)
  9. plt.show()

11. Interactivity caloris maps

Ut heatmap magis interactive, Matplotlib's uti potesimshowsimulmplcursorsVasa bibliotheca volitant ostentationem notitiarum punctorum:

  1. import mplcursors
  2. fig, ax = plt.subplots()
  3. im = ax.imshow(data, cmap='Greens', interpolation='nearest')
  4. mplcursors.cursor(hover=True).connect("add", lambda sel: sel.annotation.set_text(f'{sel.artist.get_array()[sel.target.index]:.2f}'))
  5. plt.title('交互式热力图')
  6. plt.show()

Hoc modo, cum murem super notitias tabulae caloris inerrat, valores respondentes ostendentur.

image-20240204002444309

12. standardises notitia range

Aliquando, ut clarius notitiarum differentias ostendat, necesse est notationes ampliare normalizare.Hoc potest fieri perNormalizeclassis ad efficiendum;

  1. from matplotlib.colors import Normalize
  2. normalized_data = Normalize()(data) # 将数据标准化
  3. fig, ax = plt.subplots()
  4. im = ax.imshow(normalized_data, cmap='YlGnBu', interpolation='bicubic')
  5. plt.colorbar(im, label='标准化值范围')
  6. plt.title('标准化热力图')
  7. plt.show()

13. Exportare tabulam caloris

Denique extractum caloris tabulam exportare possumus sicut tabula imaginis per Matplotlib ad ulteriorem usum vel participationem;

  1. fig, ax = plt.subplots()
  2. im = ax.imshow(data, cmap='coolwarm', interpolation='nearest')
  3. plt.colorbar(im)
  4. plt.title('导出热力图')
  5. plt.savefig('heatmap.png')

Praedicta est series exemplorum et technicarum ad varias species tabularum frigidorum caloris trahendi apud Matplotlib. Per haec exempla, intellectum virtutis Matplotlib intimum consecuti sumus et quomodo mappas varias, interactivas et provectiores caloris tabulas creandi, parametris adaptando et diversis artibus applicando. Utinam haec exempla utilia ductui tuo operi in notitia visualizationis praebuerint.

Summatim:

Per introductionem huius articuli, altissimam tractationem habemus de variis technicis et parametris fundis bibliothecae Matplotlib, cum varias species tabularum caloris frigidioris trahens. Hic sunt cardinis puncta didicimus;

  1. Praecipua cognitio:Didicimus de parametris fundamentalibus ad tabulas caloris trahendas in Matplotlib, qualia suntdatacmapinterpolationvminetvmax, hi parametri magnum momentum habent in aspectu tabulae et promptitudine caloris.

  2. Commune caloris map genera:Per exempla, tractavimus methodos tractus communis caloris map genera ut basic calor mappis, consuetudo color mapping, annotationes, calor mappis diversarum figurarum, angustos calor mappis, calor multi-submap maps, calor 3D maps, etc.

  3. Advanced occasus:Discebamus facere provectos colores tabularum et colorum clausuras facere, et quomodo tabulas caloris magis personales et lectuales efficere componendo pittacia coloratoria, ostentationem dynamicam, interactivity, normas datas normas, aliasque artes technicas.

  4. Apicibus practicis:Artes practicas nonnullas induximus, ut vectibus coloratis addere, mappas caloris educendi sicut tabulas imaginum, interactive ostentationem tabularum caloris, etc., ad meliorem usum et participationem chartarum.