def fetchData(self, key, case=None):
        key, keyword = key.split(":")
        ensemble_config_node = self.getEnsembleConfigNode(key)
        enkf_fs = self.ert().getEnkfFsManager().getFileSystem(case)
        ensemble_plot_gen_kw = EnsemblePlotGenKW(ensemble_config_node, enkf_fs)
        keyword_index = ensemble_plot_gen_kw.getIndexForKeyword(keyword)

        use_log_scale = ensemble_plot_gen_kw.shouldUseLogScale(keyword_index)

        data = {"x": [0], "y": [], "min_y": None, "max_y": None, "min_x": 0, "max_x": 0, "use_log_scale": use_log_scale}

        for vector in ensemble_plot_gen_kw:
            y = []
            data["y"].append(y)

            if len(vector) > keyword_index:
                value = vector.getValue(keyword_index)
                y.append(value)

                if data["min_y"] is None or data["min_y"] > value:
                    data["min_y"] = value

                if data["max_y"] is None or data["max_y"] < value:
                    data["max_y"] = value

        return data