2021-04-17数据可视化第一天

一、Echarts的使用

(1)下载并在页面引入Echarts的js文件
https://github.com/apache/incubator-echarts/tree/4.5.0

(2)准备一个具有大小的DOM容器
(3)初始化Echarts实例对象

var myChart = echarts.init(document.getElementById('main'));

(4)指定配置项和数据:到官网复制代码

var option = { ... };

(5)将配置项和数据赋值给Echarts实例对象

myChart.setOption(option);

二、修改配置项和数据

基础配置:
(1)title:标题组件
(2)tooltip:提示框组件(鼠标经过图表时)

// 提示框组件
    tooltip: {
      // trigger 触发方式。  非轴图形,使用item的意思是放到数据对应图形上触发提示
      trigger: 'item',
      // 格式化提示内容:
      // a 代表series系列图表名称  
      // b 代表series数据名称 data 里面的name    
      // c 代表series数据值 data 里面的value   
      // d代表  当前数据/总数据的比例
      formatter: "{a} <br/>{b} : {c} ({d}%)"
    },

(3)legend:图例组件(顶部)
(4)toolbox:工具栏(下载)
(5)grid:直角坐标系内绘图网格。

  • 属性left、right、top、bottom:grid距离父级容器的距离。
  • 属性containLabel:当值为true时,grid区域包含坐标值部分,当left值为0%时坐标值不会溢出父级容器。

网格边框颜色:grid 配置:
show: true,
borderColor: "rgba(0, 240, 255, 0.3)"

(6)color:调色盘颜色列表

// 修改线性渐变色方式 1
color: new echarts.graphic.LinearGradient(
     // (x1,y2) 点到点 (x2,y2) 之间进行渐变
     0, 0, 0, 1,
     [
          { offset: 0, color: '#00fffb' }, // 0 起始颜色
          { offset: 1, color: '#0061ce' }  // 1 结束颜色
    ]
 ),

(7)xAxis:直角坐标系 grid 中的 x 轴

  • boundaryGap: 坐标轴两边留白策略 true,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band)中间。

(8)yAxis:直角坐标系 grid 中的 y 轴

X轴和Y轴线条颜色:
xAxis/yAxis配置:
axisLine: {
lineStyle: {
color: "green"
}
}
坐标轴分割线颜色:
xAxis/yAxis配置:
splitLine: {
lineStyle: {
color: 'red' }
}

(9)series: 系列列表

  • type: 类型 (什么类型的图表) 比如 line 是折线 bar 柱形等
  • name: 系列名称,用于tooltip的显示,legend 的图例筛选 变化
  • stack: 数据堆叠。 如果设置相同值,则会数据堆叠。
    数据堆叠: 第二个数据值= 第一个数据值 + 第二个数据值
    第三个数据值 = 第二个数据值 + 第三个数据值…. 依次叠加
    如果给stack 指定不同值或者去掉这个属性则不会发生数据堆叠
// 控制图表
    series: [
      {
        // 图表名称
        name: '点位统计',
        // 图表类型:饼形图
        type: 'pie',
        // 饼形图半径。 可以是像素(不加引号)。也可以是百分比( 基于DOM容器大小,必须加【】引号】)
        //第一项是内半径,第二项是外半径(通过它可以实现饼形图大小)
        radius: ['10%', '70%'],
        // 图表中心位置 left 50%  top 50%  距离图表DOM容器
        center: ['50%', '50%'],
        // radius 半径模式,另外一种是 area 面积模式
        roseType: 'radius',
        // 数据集 value 数据的值 name 数据的名称
        data: [
                {value:10, name:'rose1'},
                {value:5, name:'rose2'},
                {value:15, name:'rose3'},
                {value:25, name:'rose4'},
                {value:20, name:'rose5'},
                {value:35, name:'rose6'},
                {value:30, name:'rose7'},
                {value:40, name:'rose8'}
            ],
       //饼形图设置文字样式:series里面的label对象
        label: {
            fontSize: 10,
          },
       //饼形图设置线的样式:series里面的labelLine对象
          labelLine: {
            lengtn: 6,
            lengtn: 8,
          },
        },
    ],
捕获.PNG

三、

1.边框图片 border-image

属性 &&描述:
(1)border-image-source :用在边框的图片的路径。
(2)border-image-slice: 切割边框图片(裁剪的尺寸,一定不加单位, 上右下左顺序)
(3)border-image-width: 边框图片的宽度(需要加单位),边框图片不会挤压内部文字
(4)border-image-repeat: 边框图片是否平铺(repeat)、铺满(round)或拉伸(stretch) 默认拉伸

格式:
组合写法:border-image: url("images/border.jpg") 167/20px round;
拆分写法:border-image-source: url("images/border.jpg");
     border-image-slice: 167 167 167 167;
     border-image-width: 20px;
     border-image-repeat: round;

使用:
(1)可以写一个类存放边框图片的css样式,哪个盒子用就添加这个类。
(2)可以根据边框图片每条边切割的大小border-images-source来设置边框的大小,边框图片的宽度默认与边框相同。
(3)将四个属性补充完整。

捕获.PNG

问题:在带有图片边框的盒子里添加内容时,盒子四周不同宽度的边框会挤压内容。
解决:里面嵌套一个绝对定位的子盒子,利用top、left、bottom、right将子盒子拉伸后再装内容。(父盒子有多大,子盒子就有多大)

<style>
/* 带有图片边框的盒子--设置图片边框 */
.panel {
  position: relative;
  border: 1px solid red;
  border-width: .6375rem /* 51/80 */ .475rem /* 38/80 */  .25rem /* 20/80 */ 1.65rem /* 132/80 */;
  border-image: url(../images/border.png);
  border-image-slice: 51 38 20 132;
}
/* 子盒子--通过定位拉伸变大 */
.inner {
  position: absolute;
  top: -.6375rem;
  right: -.475rem;
  bottom: -.25rem;
  left: -1.65rem;
  padding: .3rem .45rem;
}
</style>

 <div class="panel">
    <div class="inner">123</div>
 </div>
2. 通过类名调用字体图标

(1)将fonts文件夹和style.css文件放到我们的文件夹结构中。
(2)在HTML页面引入字体图标的style.css文件。(相当于全局声明,注意里面的路径)
(3)HTML标签直接调用图标对应的类名即可。(类名在css文件中标注)

3.传统使用字体图标的方式

(1)把下载包里面的 fonts 文件夹放入页面所在的根目录下。
(2)在 CSS 样式中全局声明字体: 代码在style.css中。(注意路径)
(3)在HTML标签中加上想要使用的字体图标所对应的小框框。
(4)在CSS中为字体图标声明字体类型。font-family: ‘icomoon’;
注意:第二步全局声明字体时,注意路径问题。

四、

1.ES6模板字符串

console.log(`我的名字叫$ {name},我今年$ {age}岁了!`);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容