apache / echarts

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

wordCloud #1967

Closed suxuekun closed 7 years ago

suxuekun commented 9 years ago

数据过多的时候数据错乱。

data = [];

for (i=0;i<100;i++) { data.push({ name:"aaa"+i, value: Math.round(Math.random() * 10000) }); };

echarts word cloud EXAMPLE中将数据换成100个随机生成数据。 数据index 错乱。 上图,鼠标移上文字根实际内容不对应。 screen shot 2015-08-26 at 5 54 41 pm screen shot 2015-08-26 at 5 54 33 pm screen shot 2015-08-26 at 5 54 21 pm

longFeiLi commented 9 years ago

因为提示和数据大小有关系,现在默认是把所有数据排序了,估计下个版本会优化。 解决办法就是:把大的数据放在前面

suxuekun commented 9 years ago

大的数据放前面也有同样问题,我在实验的时候也考虑过然后排序过,但仍旧有错乱问题. 原因可能是数据数量级差别太大,value 10000和100的数据都有, example里把底下几个数据降低一个数量级(265--26……)就可重现这个问题

On Thursday, August 27, 2015, 龙飞 notifications@github.com wrote:

因为提示和数据大小有关系,现在默认是把所有数据排序了,估计下个版本会优化。 解决办法就是:把大的数据放在前面

— Reply to this email directly or view it on GitHub https://github.com/ecomfe/echarts/issues/1967#issuecomment-135118108.

suxuekun commented 9 years ago

补代码 function createRandomItemStyle() { return { normal: { color: 'rgb(' + [ Math.round(Math.random() * 160), Math.round(Math.random() * 160), Math.round(Math.random() * 160) ].join(',') + ')' } }; }

option = { title: { text: 'Google Trends', link: 'http://www.google.com/trends/hottrends' }, tooltip: { show: true }, series: [{ name: 'Google Trends', type: 'wordCloud', size: ['80%', '80%'], textRotation : [0, 45, 90, -45], textPadding: 0, autoSize: { enable: true, minSize: 14 }, data: [ { name: "Sam S Club", value: 10000, itemStyle: { normal: { color: 'black' } } }, { name: "Macys", value: 6181, itemStyle: createRandomItemStyle() }, { name: "Amy Schumer", value: 4386, itemStyle: createRandomItemStyle() }, { name: "Jurassic World", value: 4055, itemStyle: createRandomItemStyle() }, { name: "Charter Communications", value: 246, itemStyle: createRandomItemStyle() }, { name: "Chick Fil A", value: 224, itemStyle: createRandomItemStyle() }, { name: "Planet Fitness", value: 189, itemStyle: createRandomItemStyle() }, { name: "Pitch Perfect", value: 148, itemStyle: createRandomItemStyle() }, { name: "Express", value: 111, itemStyle: createRandomItemStyle() }, { name: "Home", value: 965, itemStyle: createRandomItemStyle() }, { name: "Johnny Depp", value: 84, itemStyle: createRandomItemStyle() }, { name: "Lena Dunham", value: 58, itemStyle: createRandomItemStyle() }, { name: "Lewis Hamilton", value: 57, itemStyle: createRandomItemStyle() }, { name: "KXAN", value: 55, itemStyle: createRandomItemStyle() }, { name: "Mary Ellen Mark", value: 46, itemStyle: createRandomItemStyle() }, { name: "Farrah Abraham", value: 36, itemStyle: createRandomItemStyle() }, { name: "Rita Ora", value: 360, itemStyle: createRandomItemStyle() }, { name: "Serena Williams", value: 28, itemStyle: createRandomItemStyle() }, { name: "NCAA baseball tournament", value: 27, itemStyle: createRandomItemStyle() }, { name: "Point Break", value: 26, itemStyle: createRandomItemStyle() } ] }] }; 实际上就是example里后边几个数据改小了。

suxuekun commented 9 years ago

图示:鼠标悬浮的是farrah ,结果显示的tooltip是rita screen shot 2015-08-27 at 10 17 53 am

suxuekun commented 9 years ago

我的应用中,数据跨幅很大,所以这个问题很明显很严重。 除了最大的几个数据对应没问题以外,其他数据都是错的。

还有minSize不working,实际上会出现小的看不清的字

suxuekun commented 9 years ago

小的看不清的字图例。

screen shot 2015-08-27 at 10 21 23 am

代码 var default_wordCloud_series = { type:'wordCloud', size: ['80%', '80%'], textRotation : 0, textPadding: 10, autoSize: { enable: true, minSize: 14 }, };

数据幅度大概在1-1000,例如最大数据是900左右,最小数据是5左右。 问题是2个, 1是数据对应错乱 2是小到看不清,

pissang commented 7 years ago

https://github.com/ecomfe/echarts-wordcloud