Chart折线图 支持图表区放大缩小数据

在这里插入图片描述
在这里插入图片描述

			Random rd = new Random();
            int[] RandomNumber = new int[1000];

            for (int i = 0; i < 1000; i++)
            {
                RandomNumber[i] = rd.Next(1, 100);
            }


            // 设置曲线的样式
            Series series = chart1.Series[0];
            // 画样条曲线(Spline)
            series.ChartType = SeriesChartType.Line;
            // 线宽2个像素
            series.BorderWidth = 2;
            // 线的颜色:红色
            series.Color = System.Drawing.Color.Blue;
            // 图示上的文字
            series.LegendText = "演示曲线";
            
            //
            series.IsVisibleInLegend = false;

            //设置点样式
            series.MarkerStyle = MarkerStyle.Circle;
            

            

            //设置显示示数
            //series.IsValueShownAsLabel = true;
            //鼠标移动到对应点显示数值
            series.ToolTip = "#VAL";     
            // 准备数据
            float[] values = { 95, 30, 20, 23, 60, 87, 42, 77, 92, 51, 29 };

            // 在chart中显示数据
            int x = 1;
            foreach (float v in RandomNumber)
            {
                series.Points.AddXY(x, v);
                x++;
            }

            // 设置显示范围
            ChartArea chartArea = chart1.ChartAreas[0];
            chartArea.AxisX.Minimum = 0;
            chartArea.AxisX.Maximum = 1000;
            chartArea.AxisY.Minimum = 0d;
            chartArea.AxisY.Maximum = 100d;
            chartArea.AxisY.Interval = 25;
            chartArea.AxisX.Interval = 100;

            //删除或添加 坚游标(竖红线) 属性
            chartArea.CursorX.IsUserEnabled = false;
            //选中图表区范围(放大)
            chartArea.CursorX.IsUserSelectionEnabled = true;
            //轴显示角度
            chartArea.AxisX.LabelStyle.Angle = 90;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用Highcharts框架实现的示例代码: ```html <!DOCTYPE html> <html> <head> <title>折线图和柱形图切换示例</title> <!-- 引入Highcharts框架 --> <script src="https://code.highcharts.com/highcharts.js"></script> <script src="https://code.highcharts.com/modules/exporting.js"></script> <script src="https://code.highcharts.com/modules/export-data.js"></script> <script src="https://code.highcharts.com/modules/accessibility.js"></script> <style type="text/css"> /* 设置图表容器的样式 */ #chart-container { height: 500px; width: 800px; margin: 0 auto; } /* 设置数据表格的样式 */ #data-table { margin: 20px auto; width: 80%; border-collapse: collapse; text-align: center; } #data-table th, #data-table td { padding: 5px; border: 1px solid #ccc; } </style> </head> <body> <!-- 图表容器 --> <div id="chart-container"></div> <!-- 数据表格 --> <table id="data-table"> <thead> <tr> <th>月份</th> <th>销售额(万元)</th> </tr> </thead> <tbody> <tr> <td>一月</td> <td>10</td> </tr> <tr> <td>二月</td> <td>20</td> </tr> <tr> <td>三月</td> <td>30</td> </tr> <tr> <td>四月</td> <td>40</td> </tr> <tr> <td>五月</td> <td>50</td> </tr> <tr> <td>六月</td> <td>60</td> </tr> <tr> <td>七月</td> <td>70</td> </tr> <tr> <td>八月</td> <td>80</td> </tr> <tr> <td>九月</td> <td>90</td> </tr> <tr> <td>十月</td> <td>100</td> </tr> <tr> <td>十一月</td> <td>110</td> </tr> <tr> <td>十二月</td> <td>120</td> </tr> </tbody> </table> <script type="text/javascript"> // 初始化图表 var chart = Highcharts.chart('chart-container', { chart: { type: 'line' // 默认显示折线图 }, title: { text: '折线图和柱形图切换示例' }, xAxis: { categories: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'] }, yAxis: { title: { text: '销售额(万元)' } }, series: [{ name: '销售额', data: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120] }], // 配置导出功能 exporting: { buttons: { // 添加切换按钮 changeChartType: { text: '切换图表', onclick: function() { // 根据当前图表类型切换到另一种类型 if (chart.options.chart.type === 'line') { chart.update({ chart: { type: 'column' } }); } else { chart.update({ chart: { type: 'line' } }); } } }, // 添加放大缩小按钮 zoom: { text: '放大/缩小', onclick: function() { // 弹出新窗口显示放大后的图像 window.open(chart.options.exporting.url, 'chartImage'); } }, // 添加显示数据按钮 showData: { text: '查看数据', onclick: function() { // 弹出新窗口显示数据表格 var data = chart.series[0].data.map(function(point) { return [point.category, point.y]; }); var table = '<table><thead><tr><th>月份</th><th>销售额(万元)</th></tr></thead><tbody>'; for (var i = 0; i < data.length; i++) { table += '<tr><td>' + data[i][0] + '</td><td>' + data[i][1] + '</td></tr>'; } table += '</tbody></table>'; window.open('data:text/html;charset=utf-8,' + encodeURIComponent(table), 'dataTable'); } } } } }); </script> </body> </html> ``` 这段代码中,我们在上一个代码的基础上添加了一个查看数据的导出按钮,点击该按钮可以弹出一个新窗口显示数据表格。具体实现方法是将图表数据转换为一个二维数组,然后根据该数组生成数据表格并使用`encodeURIComponent`转码后作为新窗口的URL。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值