प्रौद्योगिकी साझेदारी

Matplotlib अन्वेषणं कुर्वन्तु - तापनक्शानां चित्रणम्

2024-07-12

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

१ परिचयः

वर्णमानचित्रणद्वारा आकृतिदत्तांशं प्रदर्शयितुं हीट्मैप्स् एकः प्रभावी उपायः अस्ति । मत्प्लोट्लिबimshow कार्याणि विविधानि हीटमैप्स् निर्मातुं एकं शक्तिशाली साधनम् अस्ति । उदाहरणस्य आरम्भात् पूर्वं प्रथमं मुख्यानि मापदण्डानि अवगच्छामः :

  • दत्तांश:प्लॉट् कर्तुं मैट्रिक्सदत्तांशः।
  • cmap: ९.वर्णमानचित्रणेन तापनक्शे वर्णानाम् वितरणं निर्धारितं भवति ।
  • प्रक्षेपः २.प्रक्षेपणविधिः, तापनक्शस्य सुचारुतां प्रभावितं करोति ।
  • vmin तथा vmax: 1.1.वर्णमानचित्रस्य न्यूनतमं अधिकतमं च मूल्यं निर्दिशन्तु ।

2. मूलभूतः तापनक्शा

प्रथमं, दत्तांशसमूहस्य समग्रवितरणं दर्शयितुं मूलभूतं तापनक्शं आकर्षयामः :

  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()

अस्मिन् सरले उदाहरणे वयं प्रयुञ्ज्महेviridiscolormap andnearestप्रक्षेपणविधिः ।

छवि-20240204002238552

3. अनुकूलितवर्णमानचित्रणम्

Matplotlib इत्यनेन विविधाः अन्तःनिर्मितवर्णनक्शाः समर्थिताः, परन्तु वयं तापनक्शं अधिकं व्यक्तिगतं कर्तुं वर्णनक्शं अनुकूलितुं अपि शक्नुमः । अत्र इष्टवर्णनक्शस्य उदाहरणम् अस्ति ।

  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. टिप्पणीं योजयन्तु

तापनक्शे टिप्पणीं योजयित्वा दत्तांशस्य अर्थं अधिकं स्पष्टतया बोधयितुं शक्यते ।वयं उपयोक्तुं शक्नुमःannotateफंक्शन् तापनक्शे मूल्यानि लेबलं करोति:

  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. विभिन्नाकारस्य तापनक्शाः

Matplotlib इत्यनेन भिन्न-भिन्न-आकारस्य ताप-नक्शानां, यथा वृत्ताकार-अण्डाकार-बिन्दु-चित्रणस्य अपि समर्थनं भवति । अत्र उदाहरणम् अस्ति : १.

  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. अवरोधः तापनक्शा

कदाचित् वयं मुख्यसूचनाः अधिकं प्रमुखाः कर्तुं मेट्रिक्समध्ये कतिपयान् खण्डान् प्रकाशयितुम् इच्छामः ।वयं उपयोगेन एतत् कर्तुं शक्नुमःimshowइत्यस्यextentएतत् प्राप्तुं मापदण्डाः : १.

  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()

छवि-20240204002304491

7. बहु-उपग्राफ-ताप-नक्शा

केषुचित् सन्दर्भेषु दत्तांशस्य भिन्नपक्षेषु तुलनां कर्तुं वा प्रस्तुतुं वा एकस्मिन् आलेखे बहुविधाः तापनक्शाः प्रदर्शयितुं शक्नुमः ।एतत् Matplotlib मार्गेण कर्तुं शक्यतेsubplotपूरयतु:

  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 तापनक्शा

Matplotlib 3D तापनक्शानां चित्रणमपि समर्थयति, यत् त्रिविमसंरचनायाः सह आँकडानां प्रदर्शनार्थं अतीव उपयोगी भवति:

  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. उन्नतवर्णमानचित्रणं तथा वर्णपट्टिकासेटिंग्स्

Matplotlib अधिकजटिलानि आवश्यकतानि पूर्तयितुं colormaps तथा colorbars इत्येतयोः उन्नतसेटिंग्स् इत्यस्य अग्रे अन्वेषणस्य अनुमतिं ददाति । अत्र एकं उदाहरणं अस्ति यत् वर्णपट्टिकायाः ​​अनुकूलनं वर्णपट्टिकालेबल् योजयितुं च प्रदर्शयति ।

  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()

छवि-20240204002506344

10. तापनक्शस्य गतिशीलप्रदर्शनम्

कदाचित्, वयं दत्तांशेषु परिवर्तनं गतिशीलरूपेण प्रदर्शयितुम् इच्छामःFuncAnimation पूरयतु। निम्नलिखितम् सरलं गतिशीलं तापनक्शस्य उदाहरणम् अस्ति :

  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. तापनक्शानां अन्तरक्रियाशीलता

हीट्मैप् अधिकं अन्तरक्रियाशीलं कर्तुं भवान् Matplotlib इत्यस्य उपयोगं कर्तुं शक्नोतिimshowसंयोजनmplcursorsपुस्तकालयः दत्तांशबिन्दुनां होवरप्रदर्शनं कार्यान्वयति:

  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()

एवं यदा मूषकः तापनक्शस्य दत्तांशबिन्दुषु भ्रमति तदा तत्सम्बद्धानि मूल्यानि प्रदर्शितानि भविष्यन्ति ।

छवि-20240204002444309

12. मानकीकृतदत्तांशपरिधिः

कदाचित्, दत्तांशस्य भेदं अधिकं स्पष्टतया दर्शयितुं, अस्माभिः दत्तांशपरिधिं सामान्यीकर्तुं आवश्यकं भवेत् ।एतत् मार्गेण कर्तुं शक्यतेNormalizeclass to implement:

  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. निर्यात तापनक्शा

अन्ते वयं आकृष्टं तापनक्शं Matplotlib मार्गेण चित्रसञ्चिकारूपेण निर्यातयितुं शक्नुमः यत् अग्रे उपयोगाय अथवा साझेदारी कर्तुं शक्नुमः:

  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')

उपरिष्टाद् Matplotlib इत्यनेन सह विभिन्नप्रकारस्य शीतलतापमानचित्रस्य आकर्षणार्थं उदाहरणानां, तकनीकानां च श्रृङ्खला अस्ति । एतेषां उदाहरणानां माध्यमेन वयं Matplotlib इत्यस्य शक्तिविषये गहनबोधं प्राप्तवन्तः तथा च पैरामीटर् समायोजयित्वा भिन्नानि तकनीकानि प्रयोज्य रङ्गिणः, अन्तरक्रियाशीलाः, उन्नताः च तापनक्शाः कथं निर्मातव्याः इति। आशास्ति यत् एतेषां उदाहरणानां कृते दत्तांशदृश्यीकरणे भवतः कार्यस्य कृते उपयोगी मार्गदर्शनं प्राप्तम्।

सारांशः - १.

अस्य लेखस्य परिचयस्य माध्यमेन अस्माकं कृते विभिन्नप्रकारस्य शीतलतापमानचित्रं आकर्षयन्ते सति Matplotlib पुस्तकालयस्य विभिन्नानां तकनीकानां पैरामीटर् सेटिंग्स् च गहनचर्चा भवति अत्र वयं ज्ञाताः प्रमुखाः बिन्दवः सन्ति-

  1. मूलभूतज्ञानम् : १.Matplotlib इत्यस्मिन् तापनक्शानां आकर्षणस्य मूलभूतमापदण्डानां विषये वयं ज्ञातवन्तः, यथाdatacmapinterpolationvminतथाvmax, एतेषां मापदण्डानां तापनक्शस्य स्वरूपे पठनीयतायां च महत्त्वपूर्णः प्रभावः भवति ।

  2. सामान्यतापमानचित्रप्रकाराः : १.उदाहरणानां माध्यमेन वयं सामान्य-ताप-नक्शा-प्रकारस्य रेखाङ्कन-विधिषु चर्चां कृतवन्तः यथा मूलभूत-ताप-नक्शाः, कस्टम्-रङ्ग-मानचित्रणं, एनोटेशनं, भिन्न-भिन्न-आकारस्य ताप-नक्शाः, ब्लॉक-ताप-नक्शाः, बहु-उप-नक्शा-ताप-नक्शाः, 3D-ताप-नक्शाः इत्यादयः

  3. उन्नतसेटिंग्स् : १.वयं उन्नतवर्णमानचित्रणं रङ्गपट्टिकासेटिंग्स् च कथं कर्तव्यमिति ज्ञातवन्तः, तथा च वर्णपट्टिकालेबलं, गतिशीलप्रदर्शनं, अन्तरक्रियाशीलतां, मानकीकृतदत्तांशपरिधिं, अन्यप्रविधिं च समायोजयित्वा तापनक्शां अधिकं व्यक्तिगतं पठनीयं च कथं कर्तव्यमिति ज्ञातवन्तः

  4. व्यावहारिकयुक्तयः : १.वयं केचन व्यावहारिकाः तकनीकाः प्रवर्तयामः, यथा वर्णपट्टिकाः योजयितुं, तापनक्शानां प्रतिबिम्बसञ्चिकारूपेण निर्यातयितुं, तापनक्शानां अन्तरक्रियाशीलप्रदर्शनम् इत्यादयः, येन चार्टस्य उपयोगितायां साझेदारीक्षमता च सुधारः भवति