关于AnyCharts Qlik Sense扩展自定义主题文件缺失及实现的问询
关于AnyCharts Qlik Sense扩展自定义主题文件定位与实现的解答
问题1:定位缺失的文件/文件夹
我之前碰到过不少用户有这个困惑,那篇2019年的文章里提到的路径和结构,其实是旧版本AnyChart-Qlik扩展的布局,新版本的扩展已经调整了文件结构,所以你找不到对应的lib文件夹和主题文件很正常。
不同环境下的扩展位置和结构差异可以参考这些情况:
- Qlik Sense Desktop:如果是从Qlik官方市场安装的扩展,它的默认路径不是
Documents\Qlik\Sense\Extensions,而是在C:\Users\[你的用户名]\AppData\Local\Qlik\Sense\Extensions下。你可以去这里找AnyChart-Qlik文件夹,不过新版本里已经没有lib/themes-combined.js这个文件了,主题相关的代码可能被整合到了打包后的主JS文件或者单独的主题模块里。 - Qlik Sense企业版:服务器上的扩展是部署在集中目录的,你没法直接在服务器文件系统里找到(除非你有服务器权限),正确的做法是通过Qlik Management Console (QMC) 导出AnyChart扩展的安装包,解压后才能看到内部文件,修改后再重新导入部署。
问题2:成功创建自定义主题的方法
很多用户现在都是通过以下两种方式实现自定义主题的,亲测有效:
- 修改扩展源码重新打包
- 先获取AnyChart-Qlik扩展的最新源码,然后在源码的主题目录(通常是
src/themes)里添加你的自定义主题代码,按照现有主题的格式编写。 - 用扩展自带的构建工具(比如npm命令)重新打包成扩展安装包(
.qext和相关文件),然后安装到Qlik Sense中。 - 如果要设置默认主题,可以在源码的配置文件(比如
src/config.js)里修改默认主题的参数,再打包部署。
- 先获取AnyChart-Qlik扩展的最新源码,然后在源码的主题目录(通常是
- 在图表属性中注入自定义主题
不需要修改扩展文件,直接在Qlik Sense的图表编辑面板里,找到AnyChart扩展的“自定义JavaScript”属性,在这里直接写入你的AnyChart主题定义代码,然后通过anychart.theme()方法应用到当前图表。这种方式适合单个图表的自定义,不需要全局修改扩展。
举个简单的自定义主题注入示例:
// 定义自定义主题 var myCustomTheme = { palette: { type: 'distinct', items: ['#FF5733', '#33FF57', '#3357FF'] }, chart: { background: '#f0f0f0' } }; // 应用主题 anychart.theme(myCustomTheme);
内容的提问来源于stack exchange,提问作者Kamen Rider Deibiddo
相关产品推荐
相关产品推荐

