• React项目中使用Bizcharts过程记录


    近期项目中有使用到bizcharts,遇到不少问题,在此记录一下。
    引入过程不赘述

     _genscoreTrends() {
        const styles = this._getStyles();
        const trueData = this.props.chart_data.datas;
        const dftMap = keyBy(trueData, 'type');
        const userData = values(dftMap);
        const showData = [];
        forEach(trueData, (l) => {
          if (l.type === chartTit) {
            const wholeC = { year: l.year, perforScore: l.perforScore };
            showData.push(wholeC);
          }
        });
    //数据
        const data = [
          {
            year: '2020 年',
            perforScore: 38
          }
        ];
        const cols = {
          perforScore: {
            tickInterval: 20
          }
        };
    //设置xy轴的显示
        const scale = {
          perforScore: { alias: '分值', tickInterval: 100, min: 0, max: 500 },
          year: { alias: '年份', tickInterval: 1, min: 1, max: 6, tickCount: 6, },
        };
    //设置标题
        const title = {
          textStyle: {
            fontSize: '15',
            textAlign: 'center',
            fill: '#000',
          }
        };
    //设置y轴网格柱子
        const grid = {
          align: 'center', // 网格顶点从两个刻度中间开始
          type: 'line', // 网格的类型
          lineStyle: {
            stroke: '#d9d9d9', // 网格线的颜色
            lineWidth: 1, // 网格线的宽度复制代码
            lineDash: [4, 4] // 网格线的虚线配置,第一个参数描述虚线的实部占多少像素,第二个参数描述虚线的虚部占多少像素
          }
        };
    //设置刻度线
        const tickLine = {
          stroke: '#000',
          value: 6 // 刻度线长度
        };
    //设置文字
        const label = {
          textStyle: {
            fill: '#000'
          }
        };
        return (
          <div style={styles.trends}>
            <p style={styles.cardTit}>历年分值趋势</p>
            <div style={styles.trendsBox}>
              <div style={styles.trendsRight}>
                <Chart height={400} data={showData || data} scale={scale} forceFit>
                  <span style={styles.mainTitle}>
                    {chartTit}
                  </span>
                  <Axis
                    name="year" title={title}
                    grid={null}
                    tickLine={tickLine}
                    label={label}
                    line={{
                      stroke: '#000'
                    }}
                  />
                  <Axis
                    name="perforScore" title={title}
                    grid={grid}
                    tickLine={tickLine}
                    label={label}
                    line={{
                      stroke: '#000'
                    }}
                  />
                  <Tooltip
                    crosshairs={{
                      type: 'y'
                    }}
                  />
                  <Geom type="interval" position="year*perforScore" size={50}>
                    <Label content="perforScore" />
                  </Geom>
                </Chart>
              </div>
            </div>
          </div>
        );
      }
    

    官网图表实例

  • 相关阅读:
    linux vps定时备份网站、数据库命令sh
    zencart批量表上传后 标题显示为网址 批量修改标题状态 SEO三要素
    robots.txt防止向黑客泄露网站的后台和隐私
    在网页中插入地图展示公司地址
    网站调用百度地图 根据地址查询经纬度
    jquery 未来元素事件示例 on() delegate() live()
    .htaccess A网站单页面301到B网站单页面
    linux批量设置部分文件与文件夹权限
    php中禁止单个ip与ip段访问的代码小结
    Spring整合ActiveMQ
  • 原文地址:https://www.cnblogs.com/heson/p/12653761.html
Copyright © 2020-2023  润新知