国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

香港云服务器
服務器之家 - 腳本之家 - Python - 將matplotlib繪圖嵌入pyqt的方法示例

將matplotlib繪圖嵌入pyqt的方法示例

2020-05-03 11:36lemonade_117 Python

這篇文章主要介紹了將matplotlib繪圖嵌入pyqt的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

我的終極整理,供參考

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# coding:utf-8
import matplotlib
# 使用 matplotlib中的FigureCanvas (在使用 Qt5 Backends中 FigureCanvas繼承自QtWidgets.QWidget)
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtWidgets import QDialog, QPushButton, QVBoxLayout
import matplotlib.pyplot as plt
import numpy as np
import sys
"""學好pyplot API和面向對象 API搞定matplotlib繪圖顯示在GUI界面上"""
 
class Main_window(QDialog):
  def __init__(self):
    super().__init__()
    # 三步走,定Figure,定Axes,定FigureCanvas
    # 1 直接一段代碼搞定figure和axes
    self.figure, (self.ax1, self.ax2) = plt.subplots(figsize=(13, 3), ncols=2)
 
    # 2 先創建figure再創建axes
    # 2.1 用plt.figure() / Figure() 創建figure, 推薦前者
    self.figure = plt.figure(figsize=(5,3), facecolor='#FFD7C4')
    # self.figure = Figure(figsize=(5,3), facecolor='#FFD7C4')
    # 2.2 用plt.subplots() / plt.add_subplot() 創建axes, 推薦前者
    (self.ax1, self.ax2) = self.figure.subplots(1, 2)
    # ax1 = self.figure.add_subplot(121)
    # ax2 = self.figure.add_subplot(122)
 
    # 3 綁定figure到canvas上
    self.canvas = FigureCanvas(self.figure)
 
    self.button_draw = QPushButton("繪圖")
    self.button_draw.clicked.connect(self.Draw)
 
    # 設置布局
    layout = QVBoxLayout()
    layout.addWidget(self.canvas)
    layout.addWidget(self.button_draw)
    self.setLayout(layout)
 
  def Draw(self):
    AgeList = ['10', '21', '12', '14', '25']
    NameList = ['Tom', 'Jon', 'Alice', 'Mike', 'Mary']
    # 將AgeList中的數據轉化為int類型
    AgeList = list(map(int, AgeList))
 
    # 將x,y轉化為numpy數據類型,對于matplotlib很重要
    self.x = np.arange(len(NameList)) + 1
    self.y = np.array(AgeList)
 
    # tick_label后邊跟x軸上的值,(可選選項:color后面跟柱型的顏色,width后邊跟柱體的寬度)
    self.ax1.bar(range(len(NameList)), AgeList, tick_label=NameList, color='green', width=0.5)
    for a, b in zip(self.x, self.y):
      self.ax1.text(a-1, b, '%d' % b, ha='center', va='bottom')
    plt.title("Demo")
 
    pos = self.ax2.imshow(np.random.random((100, 100)), cmap=plt.cm.BuPu_r)
    self.figure.colorbar(pos, ax=self.ax2)   # 終于可以用colorbar了
 
    self.canvas.draw()
 
 
# 運行程序
if __name__ == '__main__':
  app = QtWidgets.QApplication(sys.argv)
  main_window = Main_window()
  main_window.show()
  app.exec()

總結就是,想要在特定的位置放matplotlib繪圖還是要用面向對象的API,但混合使用pyplot的API可以使代碼更簡單。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/lemonade_117/article/details/103863357

延伸 · 閱讀

精彩推薦
500
主站蜘蛛池模板: 午夜视频网 | 国产日韩欧美在线 | аⅴ资源新版在线天堂 | 日韩精品视频在线 | 欧美午夜视频 | 69日影院| 91夜色 | 日韩三区视频 | 久久精品国产99国产精品 | 狠狠av | 国产成人在线视频 | 99草在线视频| 精品国产一区二区三区久久 | 日韩av一区二区在线观看 | 欧美中文| 日韩成人小视频 | 二区影院 | 毛片久久久 | 国产一区二区三区免费播放 | 亚洲电影第二页 | 久久99深爱久久99精品 | 亚洲欧美激情精品一区二区 | 午夜精品福利在线观看 | 久久久精品免费观看 | 欧美日韩成人在线 | 在线播放国产精品 | 成人福利免费在线观看 | 午夜专区| 在线免费av观看 | 91夜夜操 | 51国产午夜精品免费视频 | 国产精品久久久久久久久免费桃花 | 97精品国产97久久久久久粉红 | 日韩精品一区在线 | 亚洲一区二区三区四区在线 | 久久久99久久久国产自输拍 | 我我色综合 | 可以免费看黄的网站 | 天天干天天爽 | 免费视频黄 | 色猫猫国产区一区二在线视频 |