0

以下代码准备风玫瑰图并将其作为图像添加到 GUI 中(请参见附图风玫瑰图)。有什么办法可以在 GUI 上显示原始图形?提前致谢!

import io
import sys
from PyQt5 import QtWidgets, QtGui
import matplotlib.pyplot as plt
import numpy as np
from windrose import WindroseAxes


class MainWindow(QtWidgets.QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        ax =self.windrose_fun()
        buff = io.BytesIO()
        plt.savefig(buff, format="jpeg")
        label = QtWidgets.QLabel()
        pixmap =QtGui.QPixmap()
        pixmap.loadFromData(buff.getvalue())
        label.setPixmap(pixmap)
        label.show()

    def windrose_fun(self):
        ws = np.random.random(500) * 6
        wd = np.random.random(500) * 360
        ax = WindroseAxes.from_ax()
        ax.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')
        ax.set_legend(bbox_to_anchor=(0.94, 0.84))
        return(ax)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    app.exec_()
4

0 回答 0