我正在try 使用echarts.js使我的图表具有响应性.我找到了here个我可以使用的物业媒体和查询.

问题是,当我改变宽度时,我看不到任何变化.

let myChart = echarts.init(document.getElementById('barchart'));
 
        let option = {
            baseOption: { // baseOption
                tooltip: {
                    formatter: 'Hashtag {b} <br /> Tweets: {c}'
                },
                toolbox: {
                    feature: {
                        dataView: {},
                        restore: {},
                        saveAsImage: {},                           
                    },
                    left: '1%',
                    top:'top',
                    right:'auto',
                    bottom:'auto'
                },
                grid: {
                    left: '2%',
                    top: '17%',
                    right: 'auto',
                    bottom: '10%',
                    containLabel: true
                },
                xAxis: {
                    type: 'category',
                    axisTick: {
                        alignWithLabel: true,
                        interval: 0
                      },
                      axisLabel: {
                        interval: 0,
                        rotate: 45,
                        width: 78,
                        overflow: 'truncate'
                      },
                      axisPointer: {
                        show: true,
                        type: 'shadow'
                      },
                    data: hashtags
                
                    
                },
                yAxis: { 
                    type: 'value'
                },
                series: [
                    {
                        name: 'Tweet count',
                        type: 'bar',
                        data: countOfEachHashTag,
                        showBackground: true,
                        backgroundStyle: {
                            color: 'rgba(180, 180, 180, 0.2)'
                        },
                        label: {
                            show: true,
                            position: 'top'
                        },
                        itemStyle: {
                            color: 'rgb(8,72,103)'
                        }
                    }
                ]
            },
            media: [
                {
                    query: {
                        maxWidth: 576
                    },
                    option: {
                        grid: {
                            left: 'auto',
                            top: 'auto',
                            right: 'auto',
                            bottom: 'auto',
                            width: '406',
                            height: '600',
                            containLabel: true
                        }
                    }
                }
            ]
        };
    myChart.setOption(option);

根据示例,我的代码似乎是正确的,但当我调整窗口大小时,我没有看到容器的宽度和高度有任何变化,容器的大小也减小了.

我对此图表的html代码如下:

<div id="barChartCollapse" class="collapse show">
     <div id="barchart" style="width: auto;height:600px;">

     </div>
</div>

是不是少了什么东西?

根据示例,minWidth可以工作,但MaxWidth不行.我提供的示例链接特别指出了width, height, aspectRatio (height / width), each of which can add min or max as prefix.这太奇怪了.

推荐答案

要有一张响应图:

  • 设置图表的容器大小.在Echarts中,必须在初始化图表之前设置容器的大小.(你已经有了)
<div id="barChartCollapse" class="collapse show">
   <div id="barchart" style="width:auto; height:600px;"> //or width: 100%;

   </div>
</div>
var myChart = echarts.init(document.getElementById('barchart'));
window.addEventListener('resize', function() {
  myChart.resize();
});

这样,当您调整窗口大小时,图表将始终适合窗口的宽度.

也请判断这完整的documentation on the subject.

Javascript相关问答推荐

TestCafe预计文本等于以下内容之一

类型错误:tasks.map不是函数(MERN堆栈)

输入有关HTML复选框的已判断属性的信息

功能和普通对象之间的原型污染

React状态变量在使用++前置更新时引发错误

reaction useEffect KeyDown for each 条目配音输出

在JS中获取名字和姓氏的首字母

字节数组通过echo框架传输到JS blob

在Angular中将样式应用于innerHTML

InDesign—创建一个独立的窗口,在文档中进行更正时保持打开状态

为什么我的列表直到下一次提交才更新值/onChange

在react js中使用react—router—dom中的Link组件,分配的右侧不能被 destruct ''

我的服务工作器没有连接到我的Chrome扩展中的内容脚本.我该怎么解决这个问题?

如何添加绘图条形图图例单击角形事件

IF语句的计算结果与实际情况相反

在浏览器中触发插入事件时检索编码值的能力

在Reaction中的handleSubmit按钮内,useSelector值仍然为空

警告框不显示包含HTML输入字段的总和

ngOnChanges仅在第二次调用时才触发

为什么我的Navbar.css没有显示在本地主机页面上?