Javascript 如何将文本添加为jqplot canvasOverlay?

Javascript 如何将文本添加为jqplot canvasOverlay?,javascript,jquery,canvas,jqplot,Javascript,Jquery,Canvas,Jqplot,我想在jqplot图表上叠加一个标签。标签应由文本或理想情况下的任何标记组成。我检查了and,在主jqplot图表区域中找不到任意标签的示例 jqplot的相关功能:用于在图表上绘制任意线条。此外,“标题”标签存在,但位于图表之外 看起来这应该很简单。一些选择: 更改主标签的jqplot CSS以将其移动到图表中 jqplot中的新标签 问题范围实际上不在jqplot范围内,正确的解决方案是使用Canvas的通用解决方案 提前谢谢 尝试在HTML5画布中执行,如下所示: <script t

我想在jqplot图表上叠加一个标签。标签应由文本或理想情况下的任何标记组成。我检查了and,在主jqplot图表区域中找不到任意标签的示例

jqplot的相关功能:用于在图表上绘制任意线条。此外,“标题”标签存在,但位于图表之外

看起来这应该很简单。一些选择:

  • 更改主标签的jqplot CSS以将其移动到图表中
  • jqplot中的新标签
  • 问题范围实际上不在jqplot范围内,正确的解决方案是使用Canvas的通用解决方案

  • 提前谢谢

    尝试在HTML5画布中执行,如下所示:

    <script type="text/javascript">
    window.addEventListener('load', function () {
      // Get the canvas element.
      var elem = document.getElementById('chart1');
      if (!elem || !elem.getContext) {
        return;
      }
    
      // Get the canvas 2d context.
      var context = elem.getContext('2d');
      if (!context) {
        return;
      }
    
      // Let's draw "Hello world!" in blue.
      context.fillStyle    = '#00f';
    
      // The font property is like the CSS font property.
      context.font         = 'italic 30px sans-serif';
      context.textBaseline = 'top';
    
      if (context.fillText) {
        context.fillText('Hello world!', 0, 0);
      }
    
      // It looks like WebKit doesn't support the strokeText method.
      // Tested on Ubuntu 8.10 Linux in WebKitGTK revision 38095 (2008-11-04, svn 
      // trunk build).
      context.font = 'bold 30px sans-serif';
      if (context.strokeText) {
        context.strokeText('Hello world!', 0, 50);
      }
    }, false);
    </script>
    
    
    window.addEventListener('load',函数(){
    //获取canvas元素。
    var elem=document.getElementById('chart1');
    如果(!elem | |!elem.getContext){
    返回;
    }
    //获取画布2d上下文。
    var context=elem.getContext('2d');
    如果(!上下文){
    返回;
    }
    //让我们用蓝色画“你好,世界!”。
    context.fillStyle='#00f';
    //字体属性类似于CSS字体属性。
    context.font='italic 30px sans serif';
    context.textb基线='top';
    if(context.fillText){
    fillText('helloworld!',0,0);
    }
    //看起来WebKit不支持strokeText方法。
    //在WebKitGTK版本38095(2008-11-04,svn)的Ubuntu 8.10 Linux上测试
    //主干构建)。
    context.font='bold 30px sans serif';
    if(context.strokeText){
    strokeText('helloworld!',0,50);
    }
    },假);
    
    找到了一个解决方案,由jqplot作者Chris Leonello于2010年发布到谷歌集团:

    Chris的解决方案是将这条线放在plot1代码之后,这对我来说很好


    mytitle=$(“我的自定义图表标题”).insertAfter(“.jqplot网格画布”)

    您可以使用HTML标记将标题强制显示在图表上:

    title = {
      text : "<div style='top:20px; left:80px; position:absolute; z-index:55;'>YOUR TITLE HERE</div>",
      show : true,
      fontSize : '12pt',
      textAlign : 'left',
      textColor : '#333',
      escapeHtml : false,
    }
    
    标题={
    文字:“您的标题在此”,
    秀:没错,
    字体大小:“12pt”,
    textAlign:'左',
    textColor:“#333”,
    escapeHtml:false,
    }
    
    不幸的是,这不会在我的图表分区中产生任何可见的渲染效果。不过感谢您提供的示例。