2015-03-07 9 views
5

मुझे पता है कि एचटीएमएल में साजिश रेंडर करता है और वेब-जैसे वातावरण में एम्बेड किया जा सकता है। मुझे आश्चर्य है कि कोई पीईक्यूटी एप्लीकेशन में एचटीएमएल विंडो के अंदर ऐसा कर सकता है? विशेष रूप से मैं जानना चाहता हूं कि क्या यह ऑफ़लाइन काम करता है, इंटरनेट कनेक्शन नहीं है।क्या मैं अपने PyQt4 एप्लिकेशन में साजिश ग्राफ (ऑफ़लाइन) एम्बेड कर सकता हूं?

संपादित करें: एक और समारोह में

from PyQt4 import QtGui 

from matplotlib.backends.backend_qt4agg \ 
    import FigureCanvasQTAgg as FigureCanvas 
from matplotlib.backends.backend_qt4agg \ 
    import NavigationToolbar2QT as NavigationToolbar 
import matplotlib.pyplot as plt 


class Contour(QtGui.QFrame): 

    def __init__(self, parent=None): 
     super(Contour, self).__init__(parent) 

     self.parent = parent 

     # a figure instance to plot on 
     self.figure = plt.figure(figsize=(20, 30)) 
     r, g, b = 100./255., 100./255., 100./255. 
     self.figure.patch.set_facecolor(color=(r, g, b)) 

     # this is the Canvas Widget that displays the `figure` 
     # it takes the `figure` instance as a parameter to __init__ 
     self.canvas = FigureCanvas(self.figure) 

     # this is the Navigation widget 
     # it takes the Canvas widget and a parent 
     self.toolbar = NavigationToolbar(self.canvas, self) 

     # set the layout 
     layout = QtGui.QVBoxLayout() 
     layout.addWidget(self.toolbar) 
     layout.addWidget(self.canvas) 
     self.setLayout(layout) 

और फिर:

# create an axis 
    ax1 = self.figure.add_subplot(211, frame_on=False) 
    ax2 = self.figure.add_subplot(212, frame_on=False) 

    # plot data 
    r, g, b = 39./255., 40./255., 34./255. 
    ax1.plot(x, y, ls='o', color=(r, g, b), linewidth=3) 
    ax1.plot(coo[0], coo[1], 'go', zorder=20) # leading edge 
    ax1.plot(xg, yg, 'mo', zorder=30) # leading edge 
    ax1.plot(xr, yr, 'yo', zorder=30) # curvature circle center 
    ax1.add_patch(circle) 
    ax1.set_title('Contour', fontsize=14) 
    ax1.set_xlim(-10.0, 110.0) 
    # ax1.set_ylim(-10.0, 14.0) 
    r, g, b = 249./255., 38./255., 114./255. 
    ax1.fill(x, y, color=(r, g, b)) 
    ax1.set_aspect('equal') 

    ax2.plot(coo[0], gradient, 'go-', linewidth=3) 
    ax2.set_title('Gradient', fontsize=14) 
    ax2.set_xlim(-10.0, 110.0) 
+2

आप इसे क्यों कोशिश नहीं करते? – ekhumoro

+0

और फिर हम बाकी को बताएं। : डी –

उत्तर

0

Plotly मुख्य रूप में उसका ग्राफ़ बनाने के लिए विकसित की है

यह एक अंश है कि कैसे मैं अंत में matplotlib का उपयोग कर एम्बेडेड रेखांकन है एक ब्राउज़र आसान है। मुझे नहीं लगता कि इसे पीआईक्यूटी या टिंकर जैसे UI फ्रेमवर्क में एम्बेड किया जा सकता है। Plotly एक उद्यम संस्करण है जो इंटरनेट कनेक्शन के बिना हमारे कंपनी नेटवर्क में काम करता है।

यदि आप वास्तव में पीईक्यूटी में ग्राफ एम्बेड करने की आवश्यकता है तो PyQtgraph या MatPlotLib आपके लिए एक विकल्प हो सकता है।

ग्राफ़ को पीएनजी के रूप में निर्यात करने के लिए नमूना कोड और फिर अपने पीईक्यूटी एप्लिकेशन में पीएनजी छवि एम्बेड करें।

import matplotlib.pyplot as plt 
plt.plot([1,2,3,4,5], [10,20,30]) 
plt.savefig('graphs.png') 

import os,sys 
from PyQt4 import QtGui 
pic.setPixmap(QtGui.QPixmap("graphs.png")) 
+1

विशेष रूप से PyQtgraph या MatPlotLib के साथ शुरू करने के लिए कुछ सुझावों को शामिल करना [संपादित करना] चाहते हैं। –

0

सुनिश्चित नहीं हैं कि इस पूरी तरह से पूरा करता है अपनी जरूरत डाल दिया आप

import plotly.plotly as py 

आप छवि को बचाने के लिए और फिर

py.image.save_as({'data': data}, 'your_image_filename.png') 
pic.setPixmap(QtGui.QPixmap("your_image_filename.png")) 

चेतावनी, मैं हेवन कर सकते हैं इस

की कोशिश नहीं की
1

मैं एक बार उपयोग करने की कोशिश:

import plotly.offline as plt 
. 
. 
. 
plt.plot(fig, filename=testName + '__plot.html') 

और फिर एक साजिश उत्पन्न करने की कोशिश .. यह मेरे एक HTML फ़ाइल जो तब मैं भी इसके URL संपत्ति के रूप में एक QWebView पर डाल करने की कोशिश की दे दी [सिर्फ देखने के लिए कि यह renders]।

कृपया अपने संदर्भ के लिए छवि देखें। Render :: Plotly Offline :: QtWebView

+0

इस उत्तर के लिए धन्यवाद। +1 क्योंकि आपने अभी भी लंबे समय बाद देखभाल की है। मैं इस बीच बोके का भी उपयोग कर रहा हूं। – chiefenne

+1

मैं भी बोके देख रहा हूं। यह तय करने का प्रयास कर रहा हूं कि मैं अपनी कंपनी के डेटा विश्लेषण टूल के लिए किस शोर का उपयोग करता हूं। ऊपर के लिए धन्यवाद। – mrkrynmdsco

संबंधित मुद्दे

 संबंधित मुद्दे