WPF中使用VisiFire制作chart报表

工程创建

1.创建WPF工程

2.创建一个文件夹lib

3.将WPFVisifire.Charts.dll添加进lib文件夹

4.添加引用-》浏览  选择 WPFVisifire.Charts.dll

 使用:

<Window x:Class="testCharts.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="LayoutRoot">
        
    </Grid>
</Window>

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Visifire.Charts;

namespace testCharts
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            // Create a new DateTime object
            dt = new List<DateTime>();

            // Populate DateTime collection
           dt.Add(DateTime.Parse("2010-02-03 12:02:44"));
            dt.Add(DateTime.Parse("2010-02-03 12:03:44"));
            dt.Add(DateTime.Parse("2010-02-03 12:04:44"));
            dt.Add(DateTime.Parse("2010-02-03 12:05:44"));
            dt.Add(DateTime.Parse("2010-02-03 12:06:44"));
            dt.Add(DateTime.Parse("2010-02-03 12:07:44"));
            dt.Add(DateTime.Parse("2010-02-03 12:08:44"));


            // Create a new Visifire Chart
            CreateChart();
        }

        /// <summary>
        /// Function to create a chart
        /// </summary>
        public void CreateChart()
        {
            // Create a new instance of Chart
            Chart chart = new Chart();

            // Set chart properties
            chart.ScrollingEnabled = true;
            chart.View3D = false;

            // Create a new instance of Title
            Title title = new Title();

            // Set title property
            title.Text = "Visifire DateTime Axis Chart";

            // Add title to Titles collection
            chart.Titles.Add(title);

            // Create a new Axis
            Axis axis = new Axis();

            // Set axis properties
            axis.IntervalType = IntervalTypes.Seconds;
            axis.ValueFormatString = "MMdd hh:mm";
            axis.Interval = 60;

            // Add axis to AxesX collection
            chart.AxesX.Add(axis);

            for (Int32 j = 0; j < 2; j++)
            {
                // Create a new instance of DataSeries
                DataSeries dataSeries = new DataSeries();

                // Set DataSeries properties
                //dataSeries.RenderAs = RenderAs.Area;

                dataSeries.RenderAs = RenderAs.Column;
                dataSeries.XValueType = ChartValueTypes.DateTime;
                dataSeries.XValueFormatString = "yyyyMMdd hh:mm:ss";

                //Create a DataPoint
                DataPoint dataPoint;

                for (int i = 0; i < 6; i++)
                {
                    // Create a new instance of DataPoint
                    dataPoint = new DataPoint();

                    // Set XValue for a DataPoint
                    dataPoint.XValue = dt[i];

                    // Set YValue for a DataPoint-
                    dataPoint.YValue = rand.Next(10, 100);

                    // Add dataPoint to DataPoints collection
                    dataSeries.DataPoints.Add(dataPoint);
                    //dataSeries.Name = "11";
                }

                // Add dataSeries to Series collection.
                chart.Series.Add(dataSeries);
            }

            // Add chart to LayoutRoot
            LayoutRoot.Children.Add(chart);
        }

        /// <summary>
        /// Create a random class variable
        /// </summary>
        Random rand = new Random(DateTime.Now.Millisecond);
        List<DateTime> dt;
    }
}

 

转载于:https://www.cnblogs.com/hedan/archive/2012/08/10/2631212.html

WPF使用LiveCharts连接数据库并制作价格报表的步骤如下: 1. 引用LiveCharts库 在Visual Studio,右键单击项目,选择“管理NuGet程序包”,搜索并安装LiveCharts.Wpf库。 2. 创建数据模型 创建一个数据模型来表示从数据库检索的数据。例如,可以创建一个名为ProductModel的类,其包含产品名称、价格和日期等属性。 ```csharp public class ProductModel { public string ProductName { get; set; } public double Price { get; set; } public DateTime Date { get; set; } } ``` 3. 连接数据库并检索数据 使用ADO.NET或Entity Framework等工具来连接数据库并检索数据。例如,可以使用以下代码检索Product表的数据。 ```csharp public List<ProductModel> GetDataFromDatabase() { var result = new List<ProductModel>(); using (var conn = new SqlConnection("connectionString")) { conn.Open(); using (var cmd = new SqlCommand("SELECT * FROM Product", conn)) { var reader = cmd.ExecuteReader(); while (reader.Read()) { result.Add(new ProductModel { ProductName = reader.GetString(0), Price = reader.GetDouble(1), Date = reader.GetDateTime(2) }); } } } return result; } ``` 4. 绘制图表 创建一个名为Chart的控件,在XAML将其放置在Window或UserControl。然后,在代码使用GetDataFromDatabase方法检索数据,并将其绑定到Chart控件。 ```csharp public MainWindow() { InitializeComponent(); var data = GetDataFromDatabase(); var series = new LineSeries() { Title = "Price", Values = new ChartValues<double>(data.Select(x => x.Price)), PointGeometry = null }; Chart.Series.Add(series); Chart.AxisX.Add(new Axis { Title = "Date", Labels = data.Select(x => x.Date.ToString("d")).ToList() }); } ``` 这将创建一个包含价格数据的折线图,并在X轴上显示相应的日期。可以根据需要自定义图表的样式和布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值