日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net必须要放在form中吗_传闻:已经有人在0.33或0.34集成了Echarts(更新中)

發(fā)布時間:2025/3/12 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net必须要放在form中吗_传闻:已经有人在0.33或0.34集成了Echarts(更新中) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

據(jù)說后面會共享完整的步驟,有更詳細(xì)的信息再更新。


2019-11-04 更新:

搜集到的一些說明(以下引文來自微信群,作者Ayu,侵刪。說明為老王所加。):

具體集成無非是仿 官方插件,在對應(yīng) index.js 中注冊圖,編寫左測控制面板 js,注冊控制面板,npm build 即可

說明:

官方插件,來自以下兩個github倉庫:

apache-superset/superset-ui-plugins?github.comapache-superset/superset-ui?github.com

控制面板 js 加在這里:superset/assets/src/explore/controlPanels注冊控制面板在 superset/assets/src/explore/controlPanels/index.js圖表的注冊在 superset/assets/src/visualizations/presets/MainPreset.js 對應(yīng)獲取數(shù)據(jù)則在superset/viz.py中新增一個對應(yīng)的 Viz 類,注意重寫 get_data 和 query_obj 方法即可

說明:還沒寫過Echarts的后端代碼,以下僅為現(xiàn)有圖表類型的注釋

class TimeTableViz(BaseViz):"""A data table with rich time-series related columns"""viz_type = 'time_table'verbose_name = _('Time Table View')credits = 'a <a href="apache/incubator-superset">Superset</a> original'is_timeseries = Truedef query_obj(self):d = super().query_obj()fd = self.form_dataif not fd.get('metrics'):raise Exception(_('Pick at least one metric'))if fd.get('groupby') and len(fd.get('metrics')) > 1:raise Exception(_("When using 'Group By' you are limited to use a single metric"))return ddef get_data(self, df):fd = self.form_datacolumns = Nonevalues = self.metric_labelsif fd.get('groupby'):values = self.metric_labels[0]columns = fd.get('groupby')pt = df.pivot_table(index=DTTM_ALIAS,columns=columns,values=values,dropna=False,)pt.index = pt.index.map(str)pt = pt.sort_index()return dict(records=pt.to_dict(orient='index'),columns=list(pt.columns),is_group_by=len(fd.get('groupby')) > 0,)

后端的類必須從BaseViz繼承而來。

在注冊后端圖表類型時,要用到BaseViz,只有是BaseViz子類的class,才能把viz_type的值加入到列表:

viz_types = {o.viz_type: o for o in globals().values()if (inspect.isclass(o) andissubclass(o, BaseViz) ando.viz_type not in config.get('VIZ_TYPE_BLACKLIST'))}

query_obj和get_data函數(shù):

這兩個函數(shù),從功能上說,比較容易理解:

只有某種viz_type對應(yīng)的類,才知道如何處理前端傳來的參數(shù)(form_data),這就是query_obj函數(shù)。

才知道如何處理數(shù)據(jù)庫返回的結(jié)果,從原始的行列(或者叫矩陣),轉(zhuǎn)換成前端圖表控件需要的格式,這就是get_data函數(shù)。

放到BaseViz里面就能看到流程了。

query_obj函數(shù):

是為了構(gòu)造query_obj 對象,這個對象用于控制如何生成sql語句,把前端傳過來的參數(shù)(form_data)轉(zhuǎn)換成sqla能理解的格式(代碼在connectors/sqla/models.py)。

get_data函數(shù):

是在全流程里面起作用的,可以加一個traceback到get_data函數(shù)里面,輸出堆棧。大致上,是前端調(diào)用經(jīng)過web服務(wù),映射到views/core.py中的函數(shù)。

core.py中的Superset::generate_json函數(shù),調(diào)用viz的get_data函數(shù)。

總結(jié)

以上是生活随笔為你收集整理的asp.net必须要放在form中吗_传闻:已经有人在0.33或0.34集成了Echarts(更新中)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。