apache / echarts

Apache ECharts is a powerful, interactive charting and data visualization library for browser
https://echarts.apache.org
Apache License 2.0
60.58k stars 19.62k forks source link

在graph关系图中,文字无法缩放。鼠标移入节点的鼠标样式无法更改。 #12261

Closed lengxuan2018 closed 5 months ago

lengxuan2018 commented 4 years ago

Version 4.6.0

Steps to reproduce ①在graph图中,设置属性draggable: true, cursor: 'pointer'后,开启拖拽功能后设置的cursor属性无效。 ②在graph图中,设置属性roam: true后,开启平移和缩放功能,进行缩放时,label的字体大小不会随缩放而缩放。

What is expected? ①开启拖拽功能后另支持鼠标样式的设置。 ②开启缩放后,节点的字体大小可随画布的缩放而缩放。

What is actually happening? 目前不支持上述功能。

pissang commented 4 years ago

文本不随节点缩放是故意设计成这样的,如果文本缩小到看不清会失去了文本显示的意义,如果文本变大了则显示效果会不好

lengxuan2018 commented 4 years ago

有方法可以把文字设置成随图形缩放而缩放吗?

pissang commented 4 years ago

@lengxuan2018 目前还不行,不过如果确实有需求的话可以考虑加入配置项

yuanzhou3118 commented 4 years ago

已通过graphRoam实现:

 // 鼠标滚轮监听放大缩小
 myECharts.on('graphRoam', function(e) {
    const option = that.echartsGraph.getOption(); // 获得当前option.series的zoom
    const textPercent = (option.series[0].zoom - 0.8) / 0.8; // 计算比例,我设置zoom的初始值是0.8
    option.series[0].label.fontSize = 9 + 9 * textPercent // 等比例计算fontSize
    that.echartsGraph.setOption(option); // setOption
  });

同理可以加在toolbox内的自定义的“放大”和“缩小”按钮上

希望可以帮助到其他同学 😝

Drowned-fish commented 4 years ago

我使用echarts-for-react来监听graphRoam没有反应

yuanzhou3118 commented 4 years ago

这个问题

我使用echarts-for-react来监听graphRoam没有反应

要不在echarts-for-react 提一个issue问下?

yangqingsongGitHub commented 3 years ago

已通过graphRoam实现:

 // 鼠标滚轮监听放大缩小
 myECharts.on('graphRoam', function(e) {
    const option = that.echartsGraph.getOption(); // 获得当前option.series的zoom
    const textPercent = (option.series[0].zoom - 0.8) / 0.8; // 计算比例,我设置zoom的初始值是0.8
    option.series[0].label.fontSize = 9 + 9 * textPercent // 等比例计算fontSize
    that.echartsGraph.setOption(option); // setOption
  });

同理可以加在toolbox内的自定义的“放大”和“缩小”按钮上

希望可以帮助到其他同学 😝

通过这个方法监听在点击事件后仍是没有变化,能否请教一下

Drowned-fish commented 3 years ago

已通过graphRoam实现:

 // 鼠标滚轮监听放大缩小
 myECharts.on('graphRoam', function(e) {
    const option = that.echartsGraph.getOption(); // 获得当前option.series的zoom
    const textPercent = (option.series[0].zoom - 0.8) / 0.8; // 计算比例,我设置zoom的初始值是0.8
    option.series[0].label.fontSize = 9 + 9 * textPercent // 等比例计算fontSize
    that.echartsGraph.setOption(option); // setOption
  });

同理可以加在toolbox内的自定义的“放大”和“缩小”按钮上 希望可以帮助到其他同学 😝

通过这个方法监听在点击事件后仍是没有变化,能否请教一下

这跟点击事件没有关系吧

muxiliu commented 2 years ago

已通过graphRoam实现:

 // 鼠标滚轮监听放大缩小
 myECharts.on('graphRoam', function(e) {
    const option = that.echartsGraph.getOption(); // 获得当前option.series的zoom
    const textPercent = (option.series[0].zoom - 0.8) / 0.8; // 计算比例,我设置zoom的初始值是0.8
    option.series[0].label.fontSize = 9 + 9 * textPercent // 等比例计算fontSize
    that.echartsGraph.setOption(option); // setOption
  });

同理可以加在toolbox内的自定义的“放大”和“缩小”按钮上

希望可以帮助到其他同学 😝

非常感谢,已经通过这种方式解决。想请问一下,文档里面怎么都没有看到graphRoam这个事件。能够指出一下echarts文档中对这个事件的描述的位置吗?

github-actions[bot] commented 5 months ago

This issue has been automatically marked as stale because it did not have recent activity. It will be closed in 7 days if no further activity occurs. If you wish not to mark it as stale, please leave a comment in this issue.

github-actions[bot] commented 5 months ago

This issue has been automatically closed because it did not have recent activity. If this remains to be a problem with the latest version of Apache ECharts, please open a new issue and link this to it. Thanks!