以下代码准备风玫瑰图并将其作为图像添加到 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_()