先上效果图:

​​​​​​

以下为 echarts 代码,其实 echarts 本质上是 js,所以如果会 js 代码的同学会上手更快

option = {title: {text: '数值变化',textStyle:{//文字颜色// color:'#ccc',//字体风格,'normal','italic','oblique'fontStyle:'normal',//字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...fontWeight:'bold',//字体系列fontFamily:'sans-serif',//字体大小fontSize:36},left:'center'  },//用formatter回调函数显示多项数据内容  tooltip: {  trigger: 'axis',  formatter: function (params, ticket, callback) {  var htmlStr = ''; var valMap = {};for(var i=0;i<params.length;i++){  var param = params[i];  var xName = param.name;//x轴的名称  var seriesName = param.seriesName;//图例名称  var value = param.value;//y轴值  var color = param.color;//图例颜色  //过滤无效值if(value == '-'){continue;}//过滤重叠值if(valMap[seriesName] == value){continue;}if(i===0){  htmlStr += xName + '<br/>';//x轴的名称  }  htmlStr +='<div>';  //为了保证和原来的效果一样,这里自己实现了一个点的效果  htmlStr += '<span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:'+color+';"></span>';  //圆点后面显示的文本  htmlStr += seriesName + ':' + value;  htmlStr += '</div>';  valMap[seriesName] = value;}  return htmlStr;  }  },legend: {//   y:'55%',textStyle:{fontSize: 26,//字体大小color:'   #EE8262'//字体颜色},data:['调整前','调整后'],left:'right',},grid: {left: '3%',right: '4%',bottom: '40%',containLabel: true},toolbox: {feature: {saveAsImage: {}}},xAxis: {type: 'category',axisLabel: {        show: true,    //这行代码控制着坐标轴x轴的文字是否显示textStyle: {//   color: '#fff',   //x轴上的字体颜色fontSize:'24'    // x轴字体大小}},boundaryGap: false,data: ['8','9','10','11','12','13','14','15','16','17','18']},yAxis: {type: 'value',axisLabel: {        show: true,    //这行代码控制着坐标轴x轴的文字是否显示textStyle: {//   color: '#fff',   //x轴上的字体颜色fontSize:'24'    // x轴字体大小}},min : 0.6,},series: [{name:'调整前',itemStyle:{normal:{label : {show: true,// position:'bottom',},}},type:'line',        data:[0.88,0.87,0.85,0.81,0.78, "-", "-", "-", "-", "-", "-"]},{name:'调整前',type:'line',     smooth:false,   //关键点,为true是不支持虚线,实线就用trueitemStyle:{normal:{label : {show: true,position:'bottom',},lineStyle:{width:2,type:'dotted'  //'dotted'虚线 'solid'实线}}}, data:["-", "-","-", "-", 0.78,0.77,0.75,0.74,0.73,0.70,0.68]},{name:'调整前后',itemStyle:{normal:{label : {show: true,// position:'bottom',},}},type:'line',        data:[0.88,0.87,0.85,0.81,0.78, "-", "-", "-", "-", "-", "-"]},{name:'调整后',type:'line',     smooth:false,   //关键点,为true是不支持虚线,实线就用trueitemStyle:{normal:{label : {show: true,// position:'bottom',},lineStyle:{width:2,type:'dotted'  //'dotted'虚线 'solid'实线}}}, data:["-", "-","-", "-", 0.78,0.78,0.77,0.77,0.76,0.76,0.75 ]},]
};

受到 echarts 代码的启发,我觉得既然 pyecharts 来源于 echarts,那么肯定有共通之处,终于让我发现新大陆,实现了同样的功能。不废话,上代码:

# 算法思想:把两条线拆成四条线来做
def draw_picture():columns = [8,9,10,11,12,13,14,15,16,17,18]columns = [str(item) for item in columns]y1 = [0.88,0.87,0.85,0.81,0.78,'-','-','-','-','-','-']y2 = [0.88,0.87,0.85,0.81,0.78,'-','-','-','-','-','-' ]y3 = ['-','-','-','-',0.78,0.77,0.75,0.74,0.73,0.70,0.68]y4 = ['-','-','-','-',0.78,0.78,0.77,0.77,0.76,0.76,0.75 ]line = Line("数值变化")line.add('调整前', columns, y1, is_label_show = True, yaxis_min = 0.5,label_pos = 'bottom')line.add('调整后',columns,y2,is_label_show = True, yaxis_min = 0.5,)line.add('调整前', columns, y3, is_label_show = True, yaxis_min = 0.5,label_pos = 'bottom',mark_point_symbol='diamond',line_type = 'dashed')line.add('调整后',columns,y4,is_label_show = True, yaxis_min = 0.5,mark_point_symbol='diamond',line_type = 'dashed')line.render("example.html")

以上,问题解决~

echarts\pyecharts 实现:两条折线,重叠部分为实线,未重叠部分为虚线相关推荐

  1. 解决ECharts两条条折线图数据一样时,拐点处数据重合(设置ECharts两条折线图拐点处数据一上一下)

    解决办法:在series里选择一条数据,给其label的position赋值为"top"或"bottom",与另一个进行区分. 示例代码如下: option = ...

  2. php怎么创建两条折线图,excel折线图怎么做两条

    excel折线图怎么做两条? 1.随便编两组数据,这两组数据横坐标的值以及数量都不相同,要求将这两组数据做成一张折线图. 2.首先选中第一组数据,点击插入--散点图--选择带直线和数据标记的散点图(就 ...

  3. matlab在一张图上画两条折线图,excel2013怎么在一张曲线图上绘制多条曲线?

    office软件每年的更新速度很快,虽然更新后的版本肯定能够实现更新前的功能,但是由于版式方面的改进,使得使用者初次使用时不是特别得心应手.下面重点讲述一下,如何利用excel2013在同一张图中做多 ...

  4. python绘制两条折线图

    from pylab import * # 这里可以调整图片大小 plt.figure(figsize=(18,9)) # x轴 x_axis_data = ['9-26','9-27', '9-28 ...

  5. echarts多条折线时,默认显示一条

    需求:当前有4条折线,默认只显示两条折线 看了一下echarts的文档,legend属性的selected可以控制 legend: {orient: "vertical",show ...

  6. Excel实现双Y轴折线图(四条折线中有两个主轴两个副轴)

    一.需求 我在网上找到的教程都是两条折线,一个设为主轴一个设为副轴,或者一个柱状图配一个折线图. 但我的需求是一共有四个折线,两两分组,每组是同一个纵轴尺度. 可以看出其实有两条线:一条黄色一条灰色在 ...

  7. 两条纵坐标折线图绘制

    python 两条纵坐标折线图绘制 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你 ...

  8. 拼接两条有重叠区域的核酸序列

    目的 27F 和 1492R 是细菌 16S 核糖体基因的一对通用引物.利用这对引物扩增DNA提取物,然后进行Sanger法测序,能获得两条长度约为 800+ 的 DNA 序列.根据正链(+)和负链( ...

  9. origin Pro 9.0画多条三维折线图(此处以两条为例)

    origin Pro 9.0画多条三维折线图(此处以两条为例) 首先,建立两个New workbook,将需要的绘制的图分别放在book1 book2-如下图 选中book1 中的三维数据,操作如下图 ...

最新文章

  1. Java Web项目配置环境搭建-如何增加Tomcat服务 Tomcat[内含Tomcat7资源]
  2. 如何在Spring Boot中玩转智能合约【修订版】
  3. leetcode算法题--扑克牌中的顺子
  4. 1920+1080+android三星手机,三星Galaxy Note3能拍摄1080p视频吗?支持1080p播放吗?
  5. 一步一步学Silverlight 2系列(5):实现简单的拖放功能
  6. 【51Nod - 1268】和为K的组合 (背包 或 dfs)
  7. 《Python Cookbook 3rd》笔记(3.9):大型数组运算
  8. html to docx
  9. Zookeper znode 4种类型 是什么?
  10. python 配置文件介绍
  11. 基于opencv的文本检测器
  12. ui-sref与$state.go()的使用
  13. coreldraw怎么打印荣誉证书_教你如何打印大于A4尺寸的荣誉证书和奖状
  14. Java温习——基本语法
  15. 一步搞定无法审查元素
  16. html表格背景图片格式,css背景颜色、背景图片,以及列表的多种样式
  17. 反掩码、掩码和通配符的区别
  18. 普华永道高级JAVA面试记录
  19. 《孙子兵法作战指挥之虚实篇》
  20. 视频教程-JavaScript从入门到精通2016版教学视频-JavaScript

热门文章

  1. oracle解决00302,oracle exp出现ORA-00302:必须说明SET_NO_OUTLINES 组件 解决方法
  2. 爬一爬xxx学校的教务网站
  3. java 下载payload_java获取前端在RequestPayload中的参数
  4. Java中的Hash碰撞是什么?该如何解决?
  5. 包银消费金融总经理助理汤向军:消费金融行业的大数据
  6. java 格式化手机号码_格式化手机号码 - T_SevenS的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. IEEE P3217《区块链系统应用接口规范》国际标准启动
  8. PHP 开发者应了解的24个库
  9. 鸿蒙HarmonyOS 方舟框架ArkUI eTS在一个ability下创建了很多page发现不能到达
  10. Java反射高频面试题(附答案)