好用的java web图表组件──chartdirector

ChartDirector是非免费的,但是有破解方法就是将一个授权文件放在web工程的WEB-INF/CLASSES下面。这里只给出一个例子的代码,如果大家想试试可以到资源中搜索chartdirector下载它的示例工程及api,还有授权文件(在web工程的WEB-INF/CLASSES下面)。
1.曲线图(可点击):
  1. <%@page import="ChartDirector.*" %> 
  2. <% // 曲线图数据 
  3. double[] data0 = {50, 55, 47, 36, 42, 49, 63, 62, 73, 59, 56, 50, 64, 60, 67, 67, 58, 59, 73, 77, 84, 82, 80, 84}; 
  4. double[] data1 = {36, 28, 25, 33, 38, 20, 22, 30, 25, 33, 30, 24, 28, 36, 30, 45, 46, 42, 48, 45, 43, 52, 64, 70}; 
  5. // 图形的横坐标 
  6. String[] labels = {"Jan-04", "Feb-04", "Mar-04", "Apr-04", "May-04", "Jun-04", "Jul-04", "Aug-04", "Sep-04", "Oct-04", "Nov-04", "Dec-04", "Jan-05", "Feb-05", "Mar-05", "Apr-05", "May-05", "Jun-05", "Jul-05", "Aug-05", "Sep-05", "Oct-05", "Nov-05", "Dec-05"}; 
  7. // 创建一个大小 600 x 360的图形 
  8. XYChart c = new XYChart(600, 360, 0xeeeeff, 0x000000, 1); c.setRoundedFrame(); //设置图形圆角
  9. // 设置绘图区的大小及格式
  10. c.setPlotArea(55, 60, 520, 240, 0xffffff, -1, -1, 0xcccccc, 0xcccccc); 
  11. //添加图例
  12. LegendBox legendBox = c.addLegend(55, 58, false, "Arial Bold", 9); legendBox.setBackground(Chart.Transparent);//图例背景色透明
  13. //设置纵坐标的刻度间隔
  14. c.yAxis().setAutoScale(0.1); 
  15. // 添加图形标题
  16. ChartDirector.TextBox title = c.addTitle("Monthly Revenue for Year 2000/2001", "Times New Roman Bold Italic", 15, 0xffffff); title.setBackground(0x0000cc, 0x000000, Chart.glassEffect(Chart.ReducedGlare)); 
  17. //为y轴添加标题 
  18. c.yAxis().setTitle("Month Revenue (USD millions)"); 
  19. // 为x轴添加坐标
  20. c.xAxis().setLabels(labels).setFontAngle(90); //90是角度,设置横坐标的显示格式
  21. //在 x = 17 的位置添加一个标记
  22. Mark mark = c.xAxis2().addMark(17, 0x809933ff, "Merge with Star Tech", "Arial Bold"); 
  23. mark.setFontColor(0x9933ff); 
  24. // 添加图形右下角显示信息(这里是版权信息)
  25. ChartDirector.TextBox ccopyRight = c.addText(575, 295, "(c) Copyright Space Travel Ltd", "Arial Bold"); copyRight.setAlignment(Chart.BottomRight); 
  26. // 添加绘图区到图形中(LineLayer是曲线图) 
  27. LineLayer layer = c.addLineLayer(); 
  28. // 设置曲线宽度 
  29. layer.setLineWidth(3); 
  30. // 添加数据 
  31. layer.addDataSet(data0, -1, "Enterprise"); 
  32. layer.addDataSet(data1, -1, "Consumer"); 
  33. // 创建图形文件
  34. String cchart1URL = c.makeSession(request, "chart1");

  35. String cchartImageMap = c.getHTMLImageMap("xystub.jsp", "", "title='{dataSetName} @ {xLabel} = USD {value|0} millions'"); 

  36. String legendImageMap = legendBox.getHTMLImageMap( "javascript:popMsg('the legend key [{dataSetName}]');", " ", "title='This legend key is clickable!'"); 

  37. String titletitleCoor = title.getImageCoor(); 
  38. String markmarkCoor = mark.getImageCoor(); 
  39. String copyRightcopyRightCoor = copyRight.getImageCoor(); %> 
  40. <html> 
  41. <body topmargin="5" leftmargin="5" rightmargin="0" marginwidth="5" marginheight="5"> 
  42. <div style="font-size:18pt; font-family:verdana; font-weight:bold">  Custom Clickable Objects </div> 
  43. <hr color="#000080"> <div style="font-size:10pt; font-family:verdana; margin-bottom:20"> 
  44. <div style="font-size:10pt; font-family:verdana; width:600px; margin-bottom:20"> In the following chart, the lines, legend keys, title, copyright, and the "Merge with Star Tech" text are all clickable! </div> 
  45. <img src="<%=response.encodeURL("getchart.jsp?"+chart1URL)%>border="0" usemap="#map1"> 
  46. <map name="map1"> 
  47. <%=chartImageMap%> 
  48. <%=legendImageMap%> 
  49. <area <%=titleCoor%> href='javascript:popMsg("the chart title");' title='The title is clickable!'> 
  50. <area <%=markCoor%> href='javascript:popMsg("the Merge with Star Tech mark");' title='The "Merge with Star Tech" text is clickable!'> 
  51. <area <%=copyRightCoor%> href='javascript:popMsg("the copyright message");' title='The copyright text is clickable!'> 
  52. </map> 
  53. <SCRIPT> 
  54. function popMsg(msg) { alert("You have clicked on " + msg + "."); } </SCRIPT> 
  55. </body> 
  56. </html> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: ChartDirector 是一个用于创建图表和数据可视化的软件开发工具包。它提供了丰富的功能和灵活的选项,使用户能够创建各种类型的图表,并且可以对这些图表进行缩放操作。 在 ChartDirector 中,缩放是指对图表进行放大或缩小的操作。用户可以通过调整缩放参数来改变图表的大小和比例。缩放操作可以帮助用户更好地浏览和查看图表中的数据,特别是当图表中包含大量数据和细微的数据变化时。 ChartDirector 提供了多种缩放方法,其中一种常用的是通过滚动条来实现图表的缩放。用户可以通过调整滚动条的位置来改变图表的可视范围,并且可以同时在水平和垂直方向上进行缩放。另外,用户还可以使用鼠标进行拖拽操作来移动图表的显示区域。 除了滚动条和拖拽操作,ChartDirector 还支持其他的缩放功能,如通过鼠标滚轮进行缩放和通过手势操作在移动设备上进行缩放。这些功能使得用户能够以更加直观和便捷的方式对图表进行缩放操作。 总结而言,ChartDirector 提供了多种方式和方法来实现图表的缩放,用户可以根据自己的需求和喜好来选择合适的缩放方式。通过缩放,用户可以更全面、细致地观察和分析图表中的数据,从而更好地理解和利用数据。 ### 回答2: ChartDirector是一款强大的数据可视化工具,它提供了多种缩放功能,可以帮助用户更好地观察和分析图表数据。 首先,ChartDirector提供了内置的缩放功能,用户可以使用鼠标滚轮或手动拖动来缩放图表。这使得用户可以根据需要放大或缩小图表,以查看更详细或更全面的数据。 其次,ChartDirector还支持动态缩放功能。用户可以通过编程的方式控制图表的缩放。例如,用户可以定义一个按钮,点击按钮时,图表会自动缩放到指定的大小或比例。这样用户可以根据自己的需求动态地调整图表的显示。 此外,ChartDirector还支持缩放指定区域的功能。用户可以通过选择或拖动鼠标来选择一个特定的区域,然后按下缩放按钮或调用缩放方法,图表将自动缩放到所选区域。这对于用户想要查看某个特定区域的详细数据非常有用。 最后,ChartDirector还提供了自适应缩放功能。当图表的尺寸发生变化时,自适应缩放功能可以自动调整图表的大小和比例,以适应新的尺寸。这在用户需要在不同的设备或窗口大小下查看图表时非常方便。 总之,ChartDirector提供了多种实用的缩放功能,用户可以根据自己的需要来调整图表的显示,使得数据的观察和分析更加方便和灵活。 ### 回答3: ChartDirector是一个功能强大的数据可视化软件包,可用于创建各种类型的图表图形。在ChartDirector中,可以使用缩放功能来调整图表的大小和比例。 ChartDirector提供了几种缩放图表的方法。首先,可以使用setScale方法来指定图表的缩放比例。该方法接受两个参数,分别是水平和垂直的缩放比例。通过调整这两个参数的值,可以实现对图表的放大或缩小操作。 另外,ChartDirector还提供了zoomIn和zoomOut方法,用于实现图表的逐步放大和缩小。zoomIn方法会将图表放大一定比例,而zoomOut方法则会将图表缩小一定比例。通过多次调用这两个方法,可以实现连续的放大和缩小操作。 除了手动指定缩放比例之外,ChartDirector还支持通过鼠标滚轮进行图表的缩放。只需要在图表上按住鼠标左键并滚动鼠标滚轮,就可以实现图表的实时缩放。这种方法非常直观且易于操作,可以方便地对图表进行放大和缩小。 总而言之,ChartDirector提供了多种灵活的缩放方法,可以根据需求对图表进行精确的放大和缩小操作。无论是手动指定缩放比例、逐步放大和缩小,还是通过鼠标滚轮进行实时缩放,都能够满足用户对图表显示的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值