TypeError: unhashable type: 'numpy.ndarray'

weamagic

Пользователь
Пользователь
Июл 11, 2020
141
13
18
Win 7. Python 3.8
После выполнения данного кода приложение просто зависает без всяких ошибок. Потом - развисает, но результата - нет. Где опять накосячил?
Python:
        x = self.slice(self.comboBox.currentIndex())#получение среза данных
        y = self.slice(self.comboBox_2.currentIndex())#получение среза данных
        fig = plt.Figure()
        ax = fig.add_subplot(111)
        ax.scatter(x,y)#если закоментировать строчку, то без результата, но работает
        can = FigureCanvas(fig)
        self.crossplot_widget.addWidget(can)
        can.draw()
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
что в x и y?
 

weamagic

Пользователь
Пользователь
Июл 11, 2020
141
13
18
Cрезы по столбцам из QTableWidget
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
Cрезы по столбцам из QTableWidget
попробуйте построить график через qt
 

weamagic

Пользователь
Пользователь
Июл 11, 2020
141
13
18
и вы не показываете график же, где plt.show()
Если я правильно понял мануалы, то
Python:
can.draw()
как раз и выводит график, т.к. координатные оси появляются.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
Если я правильно понял мануалы, то
Python:
can.draw()
как раз и выводит график, т.к. координатные оси появляются.
да эт я тупанул
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
 

weamagic

Пользователь
Пользователь
Июл 11, 2020
141
13
18
 

weamagic

Пользователь
Пользователь
Июл 11, 2020
141
13
18
День добрый. Попробовал. Документацию почитать не смог - не грузится, но на основе примеров и статей модернизировал свой код так:

Python:
    def test(self):
        self.fig = pg.ScatterPlotWidget()
        if self.crossplot_widget.count() != 0:
            self.crossplot_widget.removeWidget(self.fig)
        x = self.slice(self.comboBox.currentIndex())
        y = self.slice(self.comboBox_2.currentIndex())
        dt = np.column_stack((x, y))
        self.las = self.fig.setData(dt)
        self.crossplot_widget.addWidget(self.fig)
Только проблема: график не появляется. Вместо него только окно:
1609233699354.png
Можешь подсказать - в чём дело? show & draw уже пробовал
Пробовал делать так:

Python:
    def test(self):
        self.fig = pg.PlotWidget()
        if self.crossplot_widget.count() != 0:
            self.crossplot_widget.removeWidget(self.fig)
        x = self.slice(self.comboBox.currentIndex())
        y = self.slice(self.comboBox_2.currentIndex())
        dt = np.column_stack((x, y))
        self.las = self.fig.setData(dt)
        self.crossplot_widget.addWidget(self.fig)
И получаю ошибку: setData(self, int, Any): argument 1 has unexpected type 'numpy.ndarray'
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
День добрый. Попробовал. Документацию почитать не смог - не грузится, но на основе примеров и статей модернизировал свой код так:

Python:
    def test(self):
        self.fig = pg.ScatterPlotWidget()
        if self.crossplot_widget.count() != 0:
            self.crossplot_widget.removeWidget(self.fig)
        x = self.slice(self.comboBox.currentIndex())
        y = self.slice(self.comboBox_2.currentIndex())
        dt = np.column_stack((x, y))
        self.las = self.fig.setData(dt)
        self.crossplot_widget.addWidget(self.fig)
Только проблема: график не появляется. Вместо него только окно:
Посмотреть вложение 998
Можешь подсказать - в чём дело? show & draw уже пробовал
Пробовал делать так:

Python:
    def test(self):
        self.fig = pg.PlotWidget()
        if self.crossplot_widget.count() != 0:
            self.crossplot_widget.removeWidget(self.fig)
        x = self.slice(self.comboBox.currentIndex())
        y = self.slice(self.comboBox_2.currentIndex())
        dt = np.column_stack((x, y))
        self.las = self.fig.setData(dt)
        self.crossplot_widget.addWidget(self.fig)
И получаю ошибку: setData(self, int, Any): argument 1 has unexpected type 'numpy.ndarray'
нет не смогу, сам я ей не пользовался, не было нужды, но по отзывам она очень удобна...
по поводу документации вот ссылочка https://pyqtgraph.readthedocs.io/en/latest/
 

weamagic

Пользователь
Пользователь
Июл 11, 2020
141
13
18
нет не смогу, сам я ей не пользовался, не было нужды, но по отзывам она очень удобна...
по поводу документации вот ссылочка https://pyqtgraph.readthedocs.io/en/latest/
Понятно. Спасибо за ссылку. Есть, вообще, предположения по причине возникновения ошибки?
 

Форум IT Специалистов