Commit fe243a50 HZH

livecharts demo

1 个父辈 d95b8fb9
正在显示 156 个修改的文件 包含 12724 行增加1 行删除
......@@ -2,7 +2,7 @@
<package >
<metadata>
<id>$id$</id>
<version>1.0.7</version>
<version>1.0.8</version>
<title>HZHControls</title>
<authors>HuangZhengHui</authors>
<owners>HuangZhengHui</owners>
......
......@@ -78,6 +78,7 @@ namespace Test
tnCharts.Nodes.Add("滚动图表");
tnCharts.Nodes.Add("雷达图");
tnCharts.Nodes.Add("金字塔图");
tnCharts.Nodes.Add("Live Charts");
this.tvMenu.Nodes.Add(tnCharts);
TreeNode tnFactory = new TreeNode(" 工业控件");
......@@ -303,6 +304,9 @@ namespace Test
case "金字塔图":
AddControl(new UC.UCTestFunnelChart());
break;
case "Live Charts":
AddControl(new UC.UCTestLiveCharts());
break;
#endregion
#region 工业 English:Industry
......
......@@ -35,8 +35,23 @@
<ApplicationIcon>log.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="LiveCharts, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<HintPath>..\packages\LiveCharts.0.9.7\lib\net40\LiveCharts.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LiveCharts.WinForms, Version=0.9.7.1, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<HintPath>..\packages\LiveCharts.WinForms.0.9.7.1\lib\net40\LiveCharts.WinForms.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="LiveCharts.Wpf, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<HintPath>..\packages\LiveCharts.Wpf.0.9.7\lib\net40\LiveCharts.Wpf.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
......@@ -45,6 +60,8 @@
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<Compile Include="FrmMain.cs">
......@@ -140,6 +157,237 @@
<Compile Include="UC\UCTestLED.Designer.cs">
<DependentUpon>UCTestLED.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts.Designer.cs">
<DependentUpon>UCTestLiveCharts.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Basic Stacked Bar\BasicsStackedRowExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Basic Stacked Bar\BasicsStackedRowExample.Designer.cs">
<DependentUpon>BasicsStackedRowExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Basic Stacked Bar\BasicStackedColumnExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Basic Stacked Bar\BasicStackedColumnExample.Designer.cs">
<DependentUpon>BasicStackedColumnExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicBar\BasicColumnExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicBar\BasicColumnExample.Designer.cs">
<DependentUpon>BasicColumnExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicBar\BasicRowExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicBar\BasicRowExample.Designer.cs">
<DependentUpon>BasicRowExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicBubbles\BasicBubblesExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicBubbles\BasicBubblesExample.Designer.cs">
<DependentUpon>BasicBubblesExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicLine\BasicLineExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\BasicLine\BasicLineExample.Designer.cs">
<DependentUpon>BasicLineExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\ConstantChanges\ConstantChanges.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\ConstantChanges\ConstantChanges.Designer.cs">
<DependentUpon>ConstantChanges.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\ConstantChanges\MeasureModel.cs" />
<Compile Include="UC\UCTestLiveCharts\Cartesian\Customized Series\Customized Line Series.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Customized Series\Customized Line Series.Designer.cs">
<DependentUpon>Customized Line Series.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DataPagination\DataPaginationExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DataPagination\DataPaginationExample.Designer.cs">
<DependentUpon>DataPaginationExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DateTime\DateTimeExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DateTime\DateTimeExample.Designer.cs">
<DependentUpon>DateTimeExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DynamicVisibility\DynamicVisibiltyExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DynamicVisibility\DynamicVisibiltyExample.Designer.cs">
<DependentUpon>DynamicVisibiltyExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Events\EventsExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Events\EventsExample.Designer.cs">
<DependentUpon>EventsExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Financial\FinancialExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Financial\FinancialExample.Designer.cs">
<DependentUpon>FinancialExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\FullyResponsive\FullyResponsive.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\FullyResponsive\FullyResponsive.Designer.cs">
<DependentUpon>FullyResponsive.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\FunnelChart\FunnelExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\FunnelChart\FunnelExample.Designer.cs">
<DependentUpon>FunnelExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\GanttChart\GanttExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\GanttChart\GanttExample.Designer.cs">
<DependentUpon>GanttExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\HeatSeriesExample\HeatSeriesExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\HeatSeriesExample\HeatSeriesExample.Designer.cs">
<DependentUpon>HeatSeriesExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Inverted Series\InvertedSeries.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Inverted Series\InvertedSeries.Designer.cs">
<DependentUpon>InvertedSeries.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Irregular Intervals\IrregularIntervalsExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Irregular Intervals\IrregularIntervalsExample.Designer.cs">
<DependentUpon>IrregularIntervalsExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Labels\Labels.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Labels\Labels.Designer.cs">
<DependentUpon>Labels.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Linq\City.cs" />
<Compile Include="UC\UCTestLiveCharts\Cartesian\Linq\DataBase.cs" />
<Compile Include="UC\UCTestLiveCharts\Cartesian\Linq\LinqExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Linq\LinqExample.Designer.cs">
<DependentUpon>LinqExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\LogarithmScale\LogarithmSacale.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\LogarithmScale\LogarithmSacale.Designer.cs">
<DependentUpon>LogarithmSacale.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\MissingPoints\MissingPoint.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\MissingPoints\MissingPoint.Designer.cs">
<DependentUpon>MissingPoint.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\MultiAxes\MultipleAxesExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\MultiAxes\MultipleAxesExample.Designer.cs">
<DependentUpon>MultipleAxesExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\NegativeStackedRow\NegativeStackedRow.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\NegativeStackedRow\NegativeStackedRow.Designer.cs">
<DependentUpon>NegativeStackedRow.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\PointState\PointState.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\PointState\PointState.Designer.cs">
<DependentUpon>PointState.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\ScatterExample\ScatterForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\ScatterExample\ScatterForm.Designer.cs">
<DependentUpon>ScatterForm.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Sections\SectionsExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Sections\SectionsExample.Designer.cs">
<DependentUpon>SectionsExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\StackedArea\StackedAreaExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\StackedArea\StackedAreaExample.Designer.cs">
<DependentUpon>StackedAreaExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\StepLine\StepLineExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\StepLine\StepLineExample.Designer.cs">
<DependentUpon>StepLineExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\UielementsExample\UielementsExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\UielementsExample\UielementsExample.Designer.cs">
<DependentUpon>UielementsExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Zooming and Panning\ZomingAndPanningExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\Zooming and Panning\ZomingAndPanningExample.Designer.cs">
<DependentUpon>ZomingAndPanningExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Gauge\360\Gauge360Example.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Gauge\360\Gauge360Example.Designer.cs">
<DependentUpon>Gauge360Example.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Gauge\AngularGauge\AngularGugeForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Gauge\AngularGauge\AngularGugeForm.Designer.cs">
<DependentUpon>AngularGugeForm.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Maps\GeoMapExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Maps\GeoMapExample.Designer.cs">
<DependentUpon>GeoMapExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\PieChart\DoughnutExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\PieChart\DoughnutExample.Designer.cs">
<DependentUpon>DoughnutExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\PieChart\PieChartExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\PieChart\PieChartExample.Designer.cs">
<DependentUpon>PieChartExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestMeter.cs">
<SubType>UserControl</SubType>
</Compile>
......@@ -440,6 +688,120 @@
<EmbeddedResource Include="UC\UCTestListView.resx">
<DependentUpon>UCTestListView.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts.resx">
<DependentUpon>UCTestLiveCharts.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Basic Stacked Bar\BasicsStackedRowExample.resx">
<DependentUpon>BasicsStackedRowExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Basic Stacked Bar\BasicStackedColumnExample.resx">
<DependentUpon>BasicStackedColumnExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\BasicBar\BasicColumnExample.resx">
<DependentUpon>BasicColumnExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\BasicBar\BasicRowExample.resx">
<DependentUpon>BasicRowExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\BasicBubbles\BasicBubblesExample.resx">
<DependentUpon>BasicBubblesExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\BasicLine\BasicLineExample.resx">
<DependentUpon>BasicLineExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\ConstantChanges\ConstantChanges.resx">
<DependentUpon>ConstantChanges.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Customized Series\Customized Line Series.resx">
<DependentUpon>Customized Line Series.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\DataPagination\DataPaginationExample.resx">
<DependentUpon>DataPaginationExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\DateTime\DateTimeExample.resx">
<DependentUpon>DateTimeExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\DynamicVisibility\DynamicVisibiltyExample.resx">
<DependentUpon>DynamicVisibiltyExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Events\EventsExample.resx">
<DependentUpon>EventsExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Financial\FinancialExample.resx">
<DependentUpon>FinancialExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\FullyResponsive\FullyResponsive.resx">
<DependentUpon>FullyResponsive.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\FunnelChart\FunnelExample.resx">
<DependentUpon>FunnelExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\GanttChart\GanttExample.resx">
<DependentUpon>GanttExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\HeatSeriesExample\HeatSeriesExample.resx">
<DependentUpon>HeatSeriesExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Inverted Series\InvertedSeries.resx">
<DependentUpon>InvertedSeries.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Irregular Intervals\IrregularIntervalsExample.resx">
<DependentUpon>IrregularIntervalsExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Labels\Labels.resx">
<DependentUpon>Labels.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Linq\LinqExample.resx">
<DependentUpon>LinqExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\LogarithmScale\LogarithmSacale.resx">
<DependentUpon>LogarithmSacale.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\MissingPoints\MissingPoint.resx">
<DependentUpon>MissingPoint.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\MultiAxes\MultipleAxesExample.resx">
<DependentUpon>MultipleAxesExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\NegativeStackedRow\NegativeStackedRow.resx">
<DependentUpon>NegativeStackedRow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\PointState\PointState.resx">
<DependentUpon>PointState.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\ScatterExample\ScatterForm.resx">
<DependentUpon>ScatterForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Sections\SectionsExample.resx">
<DependentUpon>SectionsExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\StackedArea\StackedAreaExample.resx">
<DependentUpon>StackedAreaExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\StepLine\StepLineExample.resx">
<DependentUpon>StepLineExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\UielementsExample\UielementsExample.resx">
<DependentUpon>UielementsExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Cartesian\Zooming and Panning\ZomingAndPanningExample.resx">
<DependentUpon>ZomingAndPanningExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Gauge\360\Gauge360Example.resx">
<DependentUpon>Gauge360Example.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Gauge\AngularGauge\AngularGugeForm.resx">
<DependentUpon>AngularGugeForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\Maps\GeoMapExample.resx">
<DependentUpon>GeoMapExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\PieChart\DoughnutExample.resx">
<DependentUpon>DoughnutExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestLiveCharts\PieChart\PieChartExample.resx">
<DependentUpon>PieChartExample.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestMenu.resx">
<DependentUpon>UCTestMenu.cs</DependentUpon>
</EmbeddedResource>
......@@ -536,6 +898,7 @@
<EmbeddedResource Include="UC\UCTestWaveChart.resx">
<DependentUpon>UCTestWaveChart.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
......@@ -545,6 +908,9 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<None Include="UC\UCTestLiveCharts\Cartesian\Linq\cities.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HZH_Controls\HZH_Controls.csproj">
......@@ -554,6 +920,13 @@
</ItemGroup>
<ItemGroup>
<Content Include="log.ico" />
<Content Include="UC\UCTestLiveCharts\Cartesian\FunnelChart\Resources\fingerprint.png" />
<Content Include="UC\UCTestLiveCharts\Cartesian\FunnelChart\Resources\user.png" />
<Content Include="UC\UCTestLiveCharts\Cartesian\FunnelChart\Resources\view.png" />
<Content Include="UC\UCTestLiveCharts\Cartesian\UielementsExample\warning.png" />
<Content Include="UC\UCTestLiveCharts\Maps\World.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
......
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class UCTestLiveCharts
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.button19 = new System.Windows.Forms.Button();
this.button17 = new System.Windows.Forms.Button();
this.button18 = new System.Windows.Forms.Button();
this.button20 = new System.Windows.Forms.Button();
this.button21 = new System.Windows.Forms.Button();
this.button22 = new System.Windows.Forms.Button();
this.button23 = new System.Windows.Forms.Button();
this.button24 = new System.Windows.Forms.Button();
this.button25 = new System.Windows.Forms.Button();
this.button26 = new System.Windows.Forms.Button();
this.button27 = new System.Windows.Forms.Button();
this.button28 = new System.Windows.Forms.Button();
this.button29 = new System.Windows.Forms.Button();
this.button30 = new System.Windows.Forms.Button();
this.button31 = new System.Windows.Forms.Button();
this.button32 = new System.Windows.Forms.Button();
this.button33 = new System.Windows.Forms.Button();
this.button34 = new System.Windows.Forms.Button();
this.button35 = new System.Windows.Forms.Button();
this.button36 = new System.Windows.Forms.Button();
this.button37 = new System.Windows.Forms.Button();
this.button38 = new System.Windows.Forms.Button();
this.button39 = new System.Windows.Forms.Button();
this.button40 = new System.Windows.Forms.Button();
this.button41 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.button6 = new System.Windows.Forms.Button();
this.button7 = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.button8 = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.button9 = new System.Windows.Forms.Button();
this.button10 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.button31);
this.groupBox1.Controls.Add(this.button26);
this.groupBox1.Controls.Add(this.button30);
this.groupBox1.Controls.Add(this.button25);
this.groupBox1.Controls.Add(this.button29);
this.groupBox1.Controls.Add(this.button28);
this.groupBox1.Controls.Add(this.button24);
this.groupBox1.Controls.Add(this.button5);
this.groupBox1.Controls.Add(this.button41);
this.groupBox1.Controls.Add(this.button36);
this.groupBox1.Controls.Add(this.button4);
this.groupBox1.Controls.Add(this.button40);
this.groupBox1.Controls.Add(this.button35);
this.groupBox1.Controls.Add(this.button3);
this.groupBox1.Controls.Add(this.button39);
this.groupBox1.Controls.Add(this.button34);
this.groupBox1.Controls.Add(this.button2);
this.groupBox1.Controls.Add(this.button38);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Controls.Add(this.button33);
this.groupBox1.Controls.Add(this.button37);
this.groupBox1.Controls.Add(this.button32);
this.groupBox1.Controls.Add(this.button27);
this.groupBox1.Controls.Add(this.button23);
this.groupBox1.Controls.Add(this.button22);
this.groupBox1.Controls.Add(this.button21);
this.groupBox1.Controls.Add(this.button20);
this.groupBox1.Controls.Add(this.button19);
this.groupBox1.Controls.Add(this.button17);
this.groupBox1.Controls.Add(this.button18);
this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(867, 356);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Cartesian";
//
// button19
//
this.button19.Location = new System.Drawing.Point(347, 20);
this.button19.Name = "button19";
this.button19.Size = new System.Drawing.Size(160, 49);
this.button19.TabIndex = 85;
this.button19.Text = "BasicBubbles";
this.button19.UseVisualStyleBackColor = true;
this.button19.Click += new System.EventHandler(this.button19_Click);
//
// button17
//
this.button17.Location = new System.Drawing.Point(180, 20);
this.button17.Name = "button17";
this.button17.Size = new System.Drawing.Size(160, 49);
this.button17.TabIndex = 85;
this.button17.Text = "BasicBar";
this.button17.UseVisualStyleBackColor = true;
this.button17.Click += new System.EventHandler(this.button17_Click);
//
// button18
//
this.button18.Location = new System.Drawing.Point(9, 20);
this.button18.Name = "button18";
this.button18.Size = new System.Drawing.Size(160, 49);
this.button18.TabIndex = 85;
this.button18.Text = "Basic Stacked Bar";
this.button18.UseVisualStyleBackColor = true;
this.button18.Click += new System.EventHandler(this.button18_Click);
//
// button20
//
this.button20.Location = new System.Drawing.Point(512, 20);
this.button20.Name = "button20";
this.button20.Size = new System.Drawing.Size(160, 49);
this.button20.TabIndex = 85;
this.button20.Text = "BasicLine";
this.button20.UseVisualStyleBackColor = true;
this.button20.Click += new System.EventHandler(this.button20_Click);
//
// button21
//
this.button21.Location = new System.Drawing.Point(679, 20);
this.button21.Name = "button21";
this.button21.Size = new System.Drawing.Size(160, 49);
this.button21.TabIndex = 85;
this.button21.Text = "ConstantChanges";
this.button21.UseVisualStyleBackColor = true;
this.button21.Click += new System.EventHandler(this.button21_Click);
//
// button22
//
this.button22.Location = new System.Drawing.Point(678, 75);
this.button22.Name = "button22";
this.button22.Size = new System.Drawing.Size(160, 49);
this.button22.TabIndex = 85;
this.button22.Text = "Events";
this.button22.UseVisualStyleBackColor = true;
this.button22.Click += new System.EventHandler(this.button22_Click);
//
// button23
//
this.button23.Location = new System.Drawing.Point(513, 75);
this.button23.Name = "button23";
this.button23.Size = new System.Drawing.Size(160, 49);
this.button23.TabIndex = 85;
this.button23.Text = "DynamicVisibility";
this.button23.UseVisualStyleBackColor = true;
this.button23.Click += new System.EventHandler(this.button23_Click);
//
// button24
//
this.button24.Location = new System.Drawing.Point(347, 75);
this.button24.Name = "button24";
this.button24.Size = new System.Drawing.Size(160, 49);
this.button24.TabIndex = 85;
this.button24.Text = "DateTime";
this.button24.UseVisualStyleBackColor = true;
this.button24.Click += new System.EventHandler(this.button24_Click);
//
// button25
//
this.button25.Location = new System.Drawing.Point(180, 75);
this.button25.Name = "button25";
this.button25.Size = new System.Drawing.Size(160, 49);
this.button25.TabIndex = 85;
this.button25.Text = "DataPagination";
this.button25.UseVisualStyleBackColor = true;
this.button25.Click += new System.EventHandler(this.button25_Click);
//
// button26
//
this.button26.Location = new System.Drawing.Point(9, 75);
this.button26.Name = "button26";
this.button26.Size = new System.Drawing.Size(160, 49);
this.button26.TabIndex = 85;
this.button26.Text = "Customized Series";
this.button26.UseVisualStyleBackColor = true;
this.button26.Click += new System.EventHandler(this.button26_Click);
//
// button27
//
this.button27.Location = new System.Drawing.Point(678, 130);
this.button27.Name = "button27";
this.button27.Size = new System.Drawing.Size(160, 49);
this.button27.TabIndex = 85;
this.button27.Text = "HeatSeriesExample";
this.button27.UseVisualStyleBackColor = true;
this.button27.Click += new System.EventHandler(this.button27_Click);
//
// button28
//
this.button28.Location = new System.Drawing.Point(513, 130);
this.button28.Name = "button28";
this.button28.Size = new System.Drawing.Size(160, 49);
this.button28.TabIndex = 85;
this.button28.Text = "GanttChart";
this.button28.UseVisualStyleBackColor = true;
this.button28.Click += new System.EventHandler(this.button28_Click);
//
// button29
//
this.button29.Location = new System.Drawing.Point(347, 130);
this.button29.Name = "button29";
this.button29.Size = new System.Drawing.Size(160, 49);
this.button29.TabIndex = 85;
this.button29.Text = "FunnelChart";
this.button29.UseVisualStyleBackColor = true;
this.button29.Click += new System.EventHandler(this.button29_Click);
//
// button30
//
this.button30.Location = new System.Drawing.Point(180, 130);
this.button30.Name = "button30";
this.button30.Size = new System.Drawing.Size(160, 49);
this.button30.TabIndex = 85;
this.button30.Text = "FullyResponsive";
this.button30.UseVisualStyleBackColor = true;
this.button30.Click += new System.EventHandler(this.button30_Click);
//
// button31
//
this.button31.Location = new System.Drawing.Point(9, 130);
this.button31.Name = "button31";
this.button31.Size = new System.Drawing.Size(160, 49);
this.button31.TabIndex = 85;
this.button31.Text = "Financial";
this.button31.UseVisualStyleBackColor = true;
this.button31.Click += new System.EventHandler(this.button31_Click);
//
// button32
//
this.button32.Location = new System.Drawing.Point(9, 185);
this.button32.Name = "button32";
this.button32.Size = new System.Drawing.Size(160, 49);
this.button32.TabIndex = 85;
this.button32.Text = "Inverted Series";
this.button32.UseVisualStyleBackColor = true;
this.button32.Click += new System.EventHandler(this.button32_Click);
//
// button33
//
this.button33.Location = new System.Drawing.Point(180, 185);
this.button33.Name = "button33";
this.button33.Size = new System.Drawing.Size(160, 49);
this.button33.TabIndex = 85;
this.button33.Text = "Irregular Intervals";
this.button33.UseVisualStyleBackColor = true;
this.button33.Click += new System.EventHandler(this.button33_Click);
//
// button34
//
this.button34.Location = new System.Drawing.Point(347, 185);
this.button34.Name = "button34";
this.button34.Size = new System.Drawing.Size(160, 49);
this.button34.TabIndex = 85;
this.button34.Text = "Labels";
this.button34.UseVisualStyleBackColor = true;
this.button34.Click += new System.EventHandler(this.button34_Click);
//
// button35
//
this.button35.Location = new System.Drawing.Point(513, 185);
this.button35.Name = "button35";
this.button35.Size = new System.Drawing.Size(160, 49);
this.button35.TabIndex = 85;
this.button35.Text = "Linq";
this.button35.UseVisualStyleBackColor = true;
this.button35.Click += new System.EventHandler(this.button35_Click);
//
// button36
//
this.button36.Location = new System.Drawing.Point(679, 185);
this.button36.Name = "button36";
this.button36.Size = new System.Drawing.Size(160, 49);
this.button36.TabIndex = 85;
this.button36.Text = "LogarithmScale";
this.button36.UseVisualStyleBackColor = true;
this.button36.Click += new System.EventHandler(this.button36_Click);
//
// button37
//
this.button37.Location = new System.Drawing.Point(9, 240);
this.button37.Name = "button37";
this.button37.Size = new System.Drawing.Size(160, 49);
this.button37.TabIndex = 85;
this.button37.Text = "MissingPoints";
this.button37.UseVisualStyleBackColor = true;
this.button37.Click += new System.EventHandler(this.button37_Click);
//
// button38
//
this.button38.Location = new System.Drawing.Point(180, 240);
this.button38.Name = "button38";
this.button38.Size = new System.Drawing.Size(160, 49);
this.button38.TabIndex = 85;
this.button38.Text = "MultiAxes";
this.button38.UseVisualStyleBackColor = true;
this.button38.Click += new System.EventHandler(this.button38_Click);
//
// button39
//
this.button39.Location = new System.Drawing.Point(347, 240);
this.button39.Name = "button39";
this.button39.Size = new System.Drawing.Size(160, 49);
this.button39.TabIndex = 85;
this.button39.Text = "NegativeStackedRow";
this.button39.UseVisualStyleBackColor = true;
this.button39.Click += new System.EventHandler(this.button39_Click);
//
// button40
//
this.button40.Location = new System.Drawing.Point(513, 240);
this.button40.Name = "button40";
this.button40.Size = new System.Drawing.Size(160, 49);
this.button40.TabIndex = 85;
this.button40.Text = "PointState";
this.button40.UseVisualStyleBackColor = true;
this.button40.Click += new System.EventHandler(this.button40_Click);
//
// button41
//
this.button41.Location = new System.Drawing.Point(679, 240);
this.button41.Name = "button41";
this.button41.Size = new System.Drawing.Size(160, 49);
this.button41.TabIndex = 85;
this.button41.Text = "ScatterExample";
this.button41.UseVisualStyleBackColor = true;
this.button41.Click += new System.EventHandler(this.button41_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(9, 295);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(160, 49);
this.button1.TabIndex = 85;
this.button1.Text = "Sections";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// button2
//
this.button2.Location = new System.Drawing.Point(180, 295);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(160, 49);
this.button2.TabIndex = 85;
this.button2.Text = "StackedArea";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click_1);
//
// button3
//
this.button3.Location = new System.Drawing.Point(347, 295);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(160, 49);
this.button3.TabIndex = 85;
this.button3.Text = "StepLine";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click_1);
//
// button4
//
this.button4.Location = new System.Drawing.Point(513, 295);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(160, 49);
this.button4.TabIndex = 85;
this.button4.Text = "UielementsExample";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click_1);
//
// button5
//
this.button5.Location = new System.Drawing.Point(679, 295);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(160, 49);
this.button5.TabIndex = 85;
this.button5.Text = "Zooming and Panning";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click_1);
//
// groupBox2
//
this.groupBox2.Controls.Add(this.button6);
this.groupBox2.Controls.Add(this.button7);
this.groupBox2.Location = new System.Drawing.Point(3, 365);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(867, 80);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Gauge";
//
// button6
//
this.button6.Location = new System.Drawing.Point(9, 20);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(160, 49);
this.button6.TabIndex = 85;
this.button6.Text = "360";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click_1);
//
// button7
//
this.button7.Location = new System.Drawing.Point(180, 20);
this.button7.Name = "button7";
this.button7.Size = new System.Drawing.Size(160, 49);
this.button7.TabIndex = 85;
this.button7.Text = "AngularGauge";
this.button7.UseVisualStyleBackColor = true;
this.button7.Click += new System.EventHandler(this.button7_Click_1);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.button8);
this.groupBox3.Location = new System.Drawing.Point(3, 451);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(867, 80);
this.groupBox3.TabIndex = 2;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Maps";
//
// button8
//
this.button8.Location = new System.Drawing.Point(9, 20);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(160, 49);
this.button8.TabIndex = 85;
this.button8.Text = "GeoMapExample";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.button8_Click_1);
//
// groupBox4
//
this.groupBox4.Controls.Add(this.button10);
this.groupBox4.Controls.Add(this.button9);
this.groupBox4.Location = new System.Drawing.Point(3, 537);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(867, 80);
this.groupBox4.TabIndex = 2;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "PieChart";
//
// button9
//
this.button9.Location = new System.Drawing.Point(9, 20);
this.button9.Name = "button9";
this.button9.Size = new System.Drawing.Size(160, 49);
this.button9.TabIndex = 85;
this.button9.Text = "DoughnutExample";
this.button9.UseVisualStyleBackColor = true;
this.button9.Click += new System.EventHandler(this.button9_Click_1);
//
// button10
//
this.button10.Location = new System.Drawing.Point(180, 20);
this.button10.Name = "button10";
this.button10.Size = new System.Drawing.Size(160, 49);
this.button10.TabIndex = 85;
this.button10.Text = "PieChartExample";
this.button10.UseVisualStyleBackColor = true;
this.button10.Click += new System.EventHandler(this.button10_Click_1);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 646);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(155, 24);
this.label1.TabIndex = 3;
this.label1.Text = "*本图表示例使用LiveCharts\r\n你可以使用Nuget添加引用";
//
// UCTestLiveCharts
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label1);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name = "UCTestLiveCharts";
this.Size = new System.Drawing.Size(907, 771);
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupBox4.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button button18;
private System.Windows.Forms.Button button17;
private System.Windows.Forms.Button button19;
private System.Windows.Forms.Button button31;
private System.Windows.Forms.Button button26;
private System.Windows.Forms.Button button30;
private System.Windows.Forms.Button button25;
private System.Windows.Forms.Button button29;
private System.Windows.Forms.Button button28;
private System.Windows.Forms.Button button24;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button41;
private System.Windows.Forms.Button button36;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button40;
private System.Windows.Forms.Button button35;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button39;
private System.Windows.Forms.Button button34;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button38;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button33;
private System.Windows.Forms.Button button37;
private System.Windows.Forms.Button button32;
private System.Windows.Forms.Button button27;
private System.Windows.Forms.Button button23;
private System.Windows.Forms.Button button22;
private System.Windows.Forms.Button button21;
private System.Windows.Forms.Button button20;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.Button button10;
private System.Windows.Forms.Button button9;
private System.Windows.Forms.Label label1;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Test.UC
{
public partial class UCTestLiveCharts : UserControl
{
public UCTestLiveCharts()
{
InitializeComponent();
}
private void btnIObservable_Click(object sender, EventArgs e)
{
new FullyResponsive().Show();
}
private void btnLabels_Click(object sender, EventArgs e)
{
new Labels().Show();
}
private void btnSeries_Click(object sender, EventArgs e)
{
new CustomizedSeries().Show();
}
private void btnBasicLine_Click(object sender, EventArgs e)
{
new BasicLineExample().Show();
}
private void btnInvertedSeries_Click(object sender, EventArgs e)
{
new InvertedSeries().Show();
}
private void btnStackedArea_Click(object sender, EventArgs e)
{
new StackedAreaExample().Show();
}
private void btnSection_Click(object sender, EventArgs e)
{
new SectionsExample().Show();
}
private void btnIrregularIntervals_Click(object sender, EventArgs e)
{
new IrregularIntervalsExample().Show();
}
private void btnZoomingAndPanning_Click(object sender, EventArgs e)
{
new ZomingAndPanningExample().Show();
}
private void btnMissingPoints_Click(object sender, EventArgs e)
{
new MissingPoint().Show();
}
private void btnMultiAx_Click(object sender, EventArgs e)
{
new MultipleAxesExample().Show();
}
private void btnDateTime_Click(object sender, EventArgs e)
{
new DateTimeExample().Show();
}
private void btnLogScale_Click(object sender, EventArgs e)
{
new LogarithmSacale().Show();
}
private void button1_Click(object sender, EventArgs e)
{
new ConstantChanges().Show();
}
private void button2_Click(object sender, EventArgs e)
{
new PieChartExample().Show();
}
private void button3_Click(object sender, EventArgs e)
{
new DynamicVisibiltyExample().Show();
}
private void button4_Click(object sender, EventArgs e)
{
new DataPaginationExample().Show();
}
private void button5_Click(object sender, EventArgs e)
{
new HeatSeriesExample().Show();
}
private void button6_Click(object sender, EventArgs e)
{
new Gauge360Example().Show();
}
private void button7_Click(object sender, EventArgs e)
{
new DoughnutExample().Show();
}
private void button8_Click(object sender, EventArgs e)
{
new LinqExample().Show();
}
private void button9_Click(object sender, EventArgs e)
{
new UielementsExample().Show();
}
private void button10_Click(object sender, EventArgs e)
{
new AngularGugeForm().Show();
}
private void button11_Click(object sender, EventArgs e)
{
new ScatterForm().Show();
}
private void button12_Click(object sender, EventArgs e)
{
new GeoMapExample().Show();
}
private void button13_Click(object sender, EventArgs e)
{
new StepLineExample().Show();
}
private void button14_Click(object sender, EventArgs e)
{
new GanttExample().Show();
}
private void button15_Click(object sender, EventArgs e)
{
new FunnelExample().Show();
}
private void button16_Click(object sender, EventArgs e)
{
new EventsExample().Show();
}
private void button18_Click(object sender, EventArgs e)
{
new BasicsStackedRowExample() { TopMost = true }.Show();
new BasicStackedColumnExample() { TopMost = true }.Show();
}
private void button17_Click(object sender, EventArgs e)
{
new BasicColumnExample() { TopMost = true }.Show();
new BasicRowExample() { TopMost = true }.Show();
}
private void button19_Click(object sender, EventArgs e)
{
new BasicBubblesExample() { TopMost = true }.Show();
}
private void button20_Click(object sender, EventArgs e)
{
new BasicLineExample { TopMost = true }.Show();
}
private void button21_Click(object sender, EventArgs e)
{
new ConstantChanges { TopMost = true }.Show();
}
private void button26_Click(object sender, EventArgs e)
{
new CustomizedSeries { TopMost = true }.Show();
}
private void button25_Click(object sender, EventArgs e)
{
new DataPaginationExample { TopMost = true }.Show();
}
private void button24_Click(object sender, EventArgs e)
{
new DateTimeExample { TopMost = true }.Show();
}
private void button23_Click(object sender, EventArgs e)
{
new DynamicVisibiltyExample { TopMost = true }.Show();
}
private void button22_Click(object sender, EventArgs e)
{
new EventsExample { TopMost = true }.Show();
}
private void button31_Click(object sender, EventArgs e)
{
new FinancialExample { TopMost = true }.Show();
}
private void button30_Click(object sender, EventArgs e)
{
new FullyResponsive { TopMost = true }.Show();
}
private void button29_Click(object sender, EventArgs e)
{
new FunnelExample { TopMost = true }.Show();
}
private void button28_Click(object sender, EventArgs e)
{
new GanttExample { TopMost = true }.Show();
}
private void button27_Click(object sender, EventArgs e)
{
new HeatSeriesExample { TopMost = true }.Show();
}
private void button32_Click(object sender, EventArgs e)
{
new InvertedSeries { TopMost = true }.Show();
}
private void button33_Click(object sender, EventArgs e)
{
new IrregularIntervalsExample { TopMost = true }.Show();
}
private void button34_Click(object sender, EventArgs e)
{
new Labels { TopMost = true }.Show();
}
private void button35_Click(object sender, EventArgs e)
{
new LinqExample { TopMost = true }.Show();
}
private void button36_Click(object sender, EventArgs e)
{
new LogarithmSacale { TopMost = true }.Show();
}
private void button37_Click(object sender, EventArgs e)
{
new MissingPoint { TopMost = true }.Show();
}
private void button38_Click(object sender, EventArgs e)
{
new MultipleAxesExample { TopMost = true }.Show();
}
private void button39_Click(object sender, EventArgs e)
{
new NegativeStackedRow { TopMost = true }.Show();
}
private void button40_Click(object sender, EventArgs e)
{
new PointState { TopMost = true }.Show();
}
private void button41_Click(object sender, EventArgs e)
{
new ScatterForm { TopMost = true }.Show();
}
private void button1_Click_1(object sender, EventArgs e)
{
new SectionsExample { TopMost = true }.Show();
}
private void button2_Click_1(object sender, EventArgs e)
{
new StackedAreaExample { TopMost = true }.Show();
}
private void button3_Click_1(object sender, EventArgs e)
{
new StepLineExample { TopMost = true }.Show();
}
private void button4_Click_1(object sender, EventArgs e)
{
new UielementsExample { TopMost = true }.Show();
}
private void button5_Click_1(object sender, EventArgs e)
{
new ZomingAndPanningExample { TopMost = true }.Show();
}
private void button6_Click_1(object sender, EventArgs e)
{
new Gauge360Example { TopMost = true }.Show();
}
private void button7_Click_1(object sender, EventArgs e)
{
new AngularGugeForm { TopMost = true }.Show();
}
private void button8_Click_1(object sender, EventArgs e)
{
new GeoMapExample { TopMost = true }.Show();
}
private void button9_Click_1(object sender, EventArgs e)
{
new DoughnutExample { TopMost = true }.Show();
}
private void button10_Click_1(object sender, EventArgs e)
{
new PieChartExample { TopMost = true }.Show();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class BasicStackedColumnExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(582, 427);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// BasicStackedColumnExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(582, 427);
this.Controls.Add(this.cartesianChart1);
this.Name = "BasicStackedColumnExample";
this.Text = "BasicStackedColumnExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class BasicStackedColumnExample : Form
{
public BasicStackedColumnExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new StackedColumnSeries
{
Values = new ChartValues<double> {4, 5, 6, 8},
StackMode = StackMode.Values, // this is not necessary, values is the default stack mode
DataLabels = true
},
new StackedColumnSeries
{
Values = new ChartValues<double> {2, 5, 6, 7},
StackMode = StackMode.Values,
DataLabels = true
}
};
//adding series updates and animates the chart
cartesianChart1.Series.Add(new StackedColumnSeries
{
Values = new ChartValues<double> {6, 2, 7},
StackMode = StackMode.Values
});
//adding values also updates and animates
cartesianChart1.Series[2].Values.Add(4d);
cartesianChart1.AxisX.Add(new Axis
{
Title = "Browser",
Labels = new[] {"Chrome", "Mozilla", "Opera", "IE"},
Separator = DefaultAxes.CleanSeparator
});
cartesianChart1.AxisY.Add(new Axis
{
Title = "Usage",
LabelFormatter = value => value + " Mill"
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class BasicsStackedRowExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(694, 408);
this.cartesianChart1.TabIndex = 4;
this.cartesianChart1.Text = "cartesianChart1";
//
// BasicsStackedRowExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(694, 408);
this.Controls.Add(this.cartesianChart1);
this.Name = "BasicsStackedRowExample";
this.Text = "BasicsStackedRowExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class BasicsStackedRowExample : Form
{
public BasicsStackedRowExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new StackedRowSeries
{
Values = new ChartValues<double> {4, 5, 6, 8},
StackMode = StackMode.Percentage,
DataLabels = true,
LabelPoint = p => p.X.ToString()
},
new StackedRowSeries
{
Values = new ChartValues<double> {2, 5, 6, 7},
StackMode = StackMode.Percentage,
DataLabels = true,
LabelPoint = p => p.X.ToString()
}
};
//adding series updates and animates the chart
cartesianChart1.Series.Add(new StackedRowSeries
{
Values = new ChartValues<double> { 6, 2, 7 },
StackMode = StackMode.Percentage,
DataLabels = true,
LabelPoint = p => p.X.ToString()
});
//adding values also updates and animates
cartesianChart1.Series[2].Values.Add(4d);
cartesianChart1.AxisY.Add(new Axis
{
Title = "Browser",
Labels = new[] {"Chrome", "Mozilla", "Opera", "IE"}
});
cartesianChart1.AxisX.Add(new Axis
{
LabelFormatter = val => val.ToString("P")
});
var tooltip = new DefaultTooltip {SelectionMode = TooltipSelectionMode.SharedYValues};
cartesianChart1.DataTooltip = tooltip;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class BasicColumnExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(827, 475);
this.cartesianChart1.TabIndex = 2;
this.cartesianChart1.Text = "cartesianChart1";
//
// BasicColumnExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(827, 475);
this.Controls.Add(this.cartesianChart1);
this.Name = "BasicColumnExample";
this.Text = "BasicColunExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class BasicColumnExample : Form
{
public BasicColumnExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new ColumnSeries
{
Title = "2015",
Values = new ChartValues<double> { 10, 50, 39, 50 }
}
};
//adding series will update and animate the chart automatically
cartesianChart1.Series.Add(new ColumnSeries
{
Title = "2016",
Values = new ChartValues<double> { 11, 56, 42 }
});
//also adding values updates and animates the chart automatically
cartesianChart1.Series[1].Values.Add(48d);
cartesianChart1.AxisX.Add(new Axis
{
Title = "Sales Man",
Labels = new[] {"Maria", "Susan", "Charles", "Frida"}
});
cartesianChart1.AxisY.Add(new Axis
{
Title = "Sold Apps",
LabelFormatter = value => value.ToString("N")
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class BasicRowExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(613, 446);
this.cartesianChart1.TabIndex = 2;
this.cartesianChart1.Text = "cartesianChart1";
//
// BasicRowExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(613, 446);
this.Controls.Add(this.cartesianChart1);
this.Name = "BasicRowExample";
this.Text = "BasicRowExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class BasicRowExample : Form
{
public BasicRowExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new RowSeries
{
Title = "2015",
Values = new ChartValues<double> { 10, 50, 39, 50 }
}
};
//adding series will update and animate the chart automatically
cartesianChart1.Series.Add(new RowSeries
{
Title = "2016",
Values = new ChartValues<double> { 11, 56, 42 }
});
//also adding values updates and animates the chart automatically
cartesianChart1.Series[1].Values.Add(48d);
cartesianChart1.AxisY.Add(new Axis
{
Labels = new[] { "Maria", "Susan", "Charles", "Frida" }
});
cartesianChart1.AxisX.Add(new Axis
{
LabelFormatter = value => value.ToString("N")
});
var tooltip = new DefaultTooltip
{
SelectionMode = TooltipSelectionMode.SharedYValues
};
cartesianChart1.DataTooltip = tooltip;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class BasicBubblesExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(484, 392);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// BasicBubblesExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(484, 392);
this.Controls.Add(this.cartesianChart1);
this.Name = "BasicBubblesExample";
this.Text = "BasicBubblesExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class BasicBubblesExample : Form
{
public BasicBubblesExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new ScatterSeries
{
Values = new ChartValues<ScatterPoint>
{
//X Y W
new ScatterPoint(5, 5, 20),
new ScatterPoint(3, 4, 80),
new ScatterPoint(7, 2, 20),
new ScatterPoint(2, 6, 60),
new ScatterPoint(8, 2, 70)
},
MinPointShapeDiameter = 15,
MaxPointShapeDiameter = 45
},
new ScatterSeries
{
Values = new ChartValues<ScatterPoint>
{
new ScatterPoint(7, 5, 1),
new ScatterPoint(2, 2, 1),
new ScatterPoint(1, 1, 1),
new ScatterPoint(6, 3, 1),
new ScatterPoint(8, 8, 1)
},
PointGeometry = DefaultGeometries.Triangle,
MinPointShapeDiameter = 15,
MaxPointShapeDiameter = 45
}
};
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class BasicLineExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(530, 425);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// BasicLineExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(530, 425);
this.Controls.Add(this.cartesianChart1);
this.Name = "BasicLineExample";
this.Text = "BasicLineExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class BasicLineExample : Form
{
public BasicLineExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new LineSeries
{
Title = "Series 1",
Values = new ChartValues<double> {4, 6, 5, 2, 7}
},
new LineSeries
{
Title = "Series 2",
Values = new ChartValues<double> {6, 7, 3, 4, 6},
PointGeometry = null
},
new LineSeries
{
Title = "Series 2",
Values = new ChartValues<double> {5, 2, 8, 3},
PointGeometry = DefaultGeometries.Square,
PointGeometrySize = 15
}
};
cartesianChart1.AxisX.Add(new Axis
{
Title = "Month",
Labels = new[] {"Jan", "Feb", "Mar", "Apr", "May"}
});
cartesianChart1.AxisY.Add(new Axis
{
Title = "Sales",
LabelFormatter = value => value.ToString("C")
});
cartesianChart1.LegendLocation = LegendLocation.Right;
//modifying the series collection will animate and update the chart
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 5, 3, 2, 4, 5 },
LineSmoothness = 0, //straight lines, 1 really smooth lines
PointGeometry = Geometry.Parse("m 25 70.36218 20 -28 -20 22 -8 -6 z"),
PointGeometrySize = 50,
PointForeground = Brushes.Gray
});
//modifying any series values will also animate and update the chart
cartesianChart1.Series[2].Values.Add(5d);
cartesianChart1.DataClick += CartesianChart1OnDataClick;
}
private void CartesianChart1OnDataClick(object sender, ChartPoint chartPoint)
{
MessageBox.Show("You clicked (" + chartPoint.X + "," + chartPoint.Y + ")");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class ConstantChanges
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(657, 463);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// ConstantChanges
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(657, 463);
this.Controls.Add(this.cartesianChart1);
this.Name = "ConstantChanges";
this.Text = "ConstantChanges";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Configurations;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class ConstantChanges : Form
{
public ConstantChanges()
{
InitializeComponent();
//To handle live data easily, in this case we built a specialized type
//the MeasureModel class, it only contains 2 properties
//DateTime and Value
//We need to configure LiveCharts to handle MeasureModel class
//The next code configures MEasureModel globally, this means
//that livecharts learns to plot MeasureModel and will use this config every time
//a ChartValues instance uses this type.
//this code ideally should only run once, when application starts is reccomended.
//you can configure series in many ways, learn more at http://lvcharts.net/App/examples/v1/wpf/Types%20and%20Configuration
var mapper = Mappers.Xy<MeasureModel>()
.X(model => model.DateTime.Ticks) //use DateTime.Ticks as X
.Y(model => model.Value); //use the value property as Y
//lets save the mapper globally.
Charting.For<MeasureModel>(mapper);
//the ChartValues property will store our values array
ChartValues = new ChartValues<MeasureModel>();
cartesianChart1.Series = new SeriesCollection
{
new LineSeries
{
Values = ChartValues,
PointGeometrySize = 18,
StrokeThickness = 4
}
};
cartesianChart1.AxisX.Add(new Axis
{
DisableAnimations = true,
LabelFormatter = value => new System.DateTime((long) value).ToString("mm:ss"),
Separator = new Separator
{
Step = TimeSpan.FromSeconds(1).Ticks
}
});
SetAxisLimits(System.DateTime.Now);
//The next code simulates data changes every 500 ms
Timer = new Timer
{
Interval = 500
};
Timer.Tick += TimerOnTick;
R = new Random();
Timer.Start();
}
public ChartValues<MeasureModel> ChartValues { get; set; }
public Timer Timer { get; set; }
public Random R { get; set; }
private void SetAxisLimits(System.DateTime now)
{
cartesianChart1.AxisX[0].MaxValue = now.Ticks + TimeSpan.FromSeconds(1).Ticks; // lets force the axis to be 100ms ahead
cartesianChart1.AxisX[0].MinValue = now.Ticks - TimeSpan.FromSeconds(8).Ticks; //we only care about the last 8 seconds
}
private void TimerOnTick(object sender, EventArgs eventArgs)
{
var now = System.DateTime.Now;
ChartValues.Add(new MeasureModel
{
DateTime = now,
Value = R.Next(0, 10)
});
SetAxisLimits(now);
//lets only use the last 30 values
if (ChartValues.Count > 30) ChartValues.RemoveAt(0);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
public class MeasureModel
{
public System.DateTime DateTime { get; set; }
public double Value { get; set; }
}
}
using LiveCharts.WinForms;
namespace Test.UC
{
partial class CustomizedSeries
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(665, 441);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// CustomizedSeries
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(665, 441);
this.Controls.Add(this.cartesianChart1);
this.Name = "CustomizedSeries";
this.Text = "Customized_Line_Series";
this.Load += new System.EventHandler(this.CustomizedLineSeries_Load);
this.ResumeLayout(false);
}
#endregion
private CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Drawing;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class CustomizedSeries : Form
{
public CustomizedSeries()
{
InitializeComponent();
}
private void CustomizedLineSeries_Load(object sender, EventArgs e)
{
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 3, 4, 6, 3, 2, 6 },
StrokeThickness = 4,
StrokeDashArray = new System.Windows.Media.DoubleCollection(new double[] { 2 }),
Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(107, 185, 69)),
Fill = System.Windows.Media.Brushes.Transparent,
LineSmoothness = 0,
PointGeometrySize = 0
});
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 5, 3, 5, 7, 3, 9 },
StrokeThickness = 2,
Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(28, 142, 196)),
Fill = System.Windows.Media.Brushes.Transparent,
LineSmoothness = 1,
PointGeometrySize = 15,
PointForeground =
new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(34, 46, 49))
});
cartesianChart1.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(34, 46, 49));
cartesianChart1.AxisX.Add(new Axis
{
IsMerged = true,
Separator = new Separator
{
StrokeThickness = 1,
StrokeDashArray = new System.Windows.Media.DoubleCollection(new double[] { 2 }),
Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(64, 79, 86))
}
});
cartesianChart1.AxisY.Add(new Axis
{
IsMerged = true,
Separator = new Separator
{
StrokeThickness = 1.5,
StrokeDashArray = new System.Windows.Media.DoubleCollection(new double[] { 4 }),
Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(64, 79, 86))
}
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class DataPaginationExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(586, 416);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 2;
this.button1.Text = "Previous";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.PreviousOnClick);
//
// button2
//
this.button2.Location = new System.Drawing.Point(93, 12);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 3;
this.button2.Text = "Next";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.NextOnClick);
//
// button3
//
this.button3.Location = new System.Drawing.Point(174, 12);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 4;
this.button3.Text = "Custom";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.CustomZoomOnClick);
//
// DataPaginationExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(586, 416);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.cartesianChart1);
this.Name = "DataPaginationExample";
this.Text = "DataPaginationExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class DataPaginationExample : Form
{
public DataPaginationExample()
{
InitializeComponent();
var values = new ChartValues<double>();
var r = new Random();
for (var i = 0; i < 100; i++)
{
values.Add(r.Next(0, 10));
}
cartesianChart1.Series.Add(new LineSeries
{
Values = values
});
cartesianChart1.AxisX.Add(new Axis
{
MinValue = 0,
MaxValue = 25
});
}
private void PreviousOnClick(object sender, EventArgs e)
{
cartesianChart1.AxisX[0].MinValue -= 25;
cartesianChart1.AxisX[0].MaxValue -= 25;
}
private void NextOnClick(object sender, EventArgs e)
{
cartesianChart1.AxisX[0].MinValue += 25;
cartesianChart1.AxisX[0].MaxValue += 25;
}
private void CustomZoomOnClick(object sender, EventArgs e)
{
cartesianChart1.AxisX[0].MinValue = 5;
cartesianChart1.AxisX[0].MaxValue = 10;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
using System.Drawing;
namespace Test.UC
{
partial class DateTimeExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.BackColor = Color.White;
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(284, 261);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// DateTimeExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Controls.Add(this.cartesianChart1);
this.Name = "DateTimeExample";
this.Text = "DateTimeExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Configurations;
using LiveCharts.Wpf;
using Brushes = System.Windows.Media.Brushes;
namespace Test.UC
{
public class DateModel
{
public System.DateTime DateTime { get; set; }
public double Value { get; set; }
}
public partial class DateTimeExample : Form
{
public DateTimeExample()
{
InitializeComponent();
var dayConfig = Mappers.Xy<DateModel>()
.X(dayModel => (double)dayModel.DateTime.Ticks / TimeSpan.FromHours(1).Ticks)
.Y(dayModel => dayModel.Value);
//Notice you can also configure this type globally, so you don't need to configure every
//SeriesCollection instance using the type.
//more info at http://lvcharts.net/App/Index#/examples/v1/wpf/Types%20and%20Configuration
cartesianChart1.Series = new SeriesCollection(dayConfig)
{
new LineSeries
{
Values = new ChartValues<DateModel>
{
new DateModel
{
DateTime = System.DateTime.Now,
Value = 5
},
new DateModel
{
DateTime = System.DateTime.Now.AddHours(2),
Value = 9
}
},
Fill = Brushes.Transparent
},
new ColumnSeries
{
Values = new ChartValues<DateModel>
{
new DateModel
{
DateTime = System.DateTime.Now,
Value = 4
},
new DateModel
{
DateTime = System.DateTime.Now.AddHours(1),
Value = 6
},
new DateModel
{
DateTime = System.DateTime.Now.AddHours(2),
Value = 8
}
}
}
};
cartesianChart1.AxisX.Add(new Axis
{
LabelFormatter = value => new System.DateTime((long) (value*TimeSpan.FromHours(1).Ticks)).ToString("t")
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class DynamicVisibiltyExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(715, 484);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(13, 13);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(80, 17);
this.checkBox1.TabIndex = 2;
this.checkBox1.Text = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.ToggleMariaSeries);
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(99, 12);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(80, 17);
this.checkBox2.TabIndex = 3;
this.checkBox2.Text = "checkBox2";
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.CheckedChanged += new System.EventHandler(this.ToggleCharlesSeries);
//
// checkBox3
//
this.checkBox3.AutoSize = true;
this.checkBox3.Location = new System.Drawing.Point(185, 12);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(80, 17);
this.checkBox3.TabIndex = 4;
this.checkBox3.Text = "checkBox3";
this.checkBox3.UseVisualStyleBackColor = true;
this.checkBox3.CheckedChanged += new System.EventHandler(this.ToggleJohnSeries);
//
// DynamicVisibiltyExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(715, 484);
this.Controls.Add(this.checkBox3);
this.Controls.Add(this.checkBox2);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.cartesianChart1);
this.Name = "DynamicVisibiltyExample";
this.Text = "DynamicVisibiltyExample";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox3;
}
}
\ No newline at end of file
using System.Windows;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class DynamicVisibiltyExample : Form
{
public DynamicVisibiltyExample()
{
InitializeComponent();
MariaSeries = new LineSeries
{
Values = new ChartValues<double> {4, 6, 2, 7, 6}
};
CharlesSeries = new LineSeries
{
Values = new ChartValues<double> {6, 2, 8, 3, 5}
};
JohnSeries = new LineSeries
{
Values = new ChartValues<double> {8, 2, 4, 7, 2}
};
cartesianChart1.Series = new SeriesCollection
{
MariaSeries,
CharlesSeries,
JohnSeries
};
}
public LineSeries MariaSeries { get; set; }
public LineSeries CharlesSeries { get; set; }
public LineSeries JohnSeries { get; set; }
private void ToggleMariaSeries(object sender, System.EventArgs e)
{
MariaSeries.Visibility = MariaSeries.Visibility == Visibility.Visible
? Visibility.Hidden
: Visibility.Visible;
}
private void ToggleCharlesSeries(object sender, System.EventArgs e)
{
CharlesSeries.Visibility = CharlesSeries.Visibility == Visibility.Visible
? Visibility.Hidden
: Visibility.Visible;
}
private void ToggleJohnSeries(object sender, System.EventArgs e)
{
JohnSeries.Visibility = JohnSeries.Visibility == Visibility.Visible
? Visibility.Hidden
: Visibility.Visible;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class EventsExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(382, 343);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
this.cartesianChart1.DataClick += new LiveCharts.Events.DataClickHandler(this.ChartOnDataClick);
this.cartesianChart1.DataHover += new LiveCharts.Events.DataHoverHandler(this.Chart_OnDataHover);
this.cartesianChart1.UpdaterTick += new LiveCharts.Events.UpdaterTickHandler(this.ChartOnUpdaterTick);
//
// EventsExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(382, 343);
this.Controls.Add(this.cartesianChart1);
this.Name = "EventsExample";
this.Text = "EventsExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Media;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Events;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class EventsExample : Form
{
public EventsExample()
{
InitializeComponent();
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 4, 6, 5, 3, 5 },
Fill = Brushes.Transparent,
StrokeThickness = 4,
PointGeometrySize = 25
});
var ax = new Axis();
ax.RangeChanged += AxOnRangeChanged;
cartesianChart1.AxisX.Add(ax);
}
private void ChartOnDataClick(object sender, ChartPoint p)
{
var asPixels = cartesianChart1.Base.ConvertToPixels(p.AsPoint());
Console.WriteLine("[EVENT] You clicked (" + p.X + ", " + p.Y + ") in pixels (" +
asPixels.X + ", " + asPixels.Y + ")");
}
private void Chart_OnDataHover(object sender, ChartPoint p)
{
Console.WriteLine("[EVENT] you hovered over " + p.X + ", " + p.Y);
}
private void ChartOnUpdaterTick(object sender)
{
Console.WriteLine("[EVENT] chart was updated");
}
private void AxOnRangeChanged(RangeChangedEventArgs eventArgs)
{
Console.WriteLine("[EVENT] axis range changed");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class FinancialExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(820, 490);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// FinancialExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(820, 490);
this.Controls.Add(this.cartesianChart1);
this.Name = "FinancialExample";
this.Text = "FinancialExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class FinancialExample : Form
{
public FinancialExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new OhlcSeries
{
Values = new ChartValues<OhlcPoint>
{
new OhlcPoint(32, 35, 30, 32),
new OhlcPoint(33, 38, 31, 37),
new OhlcPoint(35, 42, 30, 40),
new OhlcPoint(37, 40, 35, 38),
new OhlcPoint(35, 38, 32, 33)
}
},
new LineSeries
{
Values = new ChartValues<double> {30, 32, 35, 30, 28},
Fill = System.Windows.Media.Brushes.Transparent
}
};
//based on https://github.com/beto-rodriguez/Live-Charts/issues/166
//The Ohcl point X property is zero based indexed.
//this means the first point is 0, second 1, third 2.... and so on
//then you can use the Axis.Labels properties to map the chart X with a label in the array.
//for more info see (mapped labels section)
//http://lvcharts.net/#/examples/v1/labels-wpf?path=WPF-Components-Labels
cartesianChart1.AxisX.Add(new Axis
{
Labels = new[]
{
System.DateTime.Now.ToString("dd MMM"),
System.DateTime.Now.AddDays(1).ToString("dd MMM"),
System.DateTime.Now.AddDays(2).ToString("dd MMM"),
System.DateTime.Now.AddDays(3).ToString("dd MMM"),
System.DateTime.Now.AddDays(4).ToString("dd MMM")
}
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class FullyResponsive
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Location = new System.Drawing.Point(3, 62);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(631, 363);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Add";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.AddButtonOnClick);
//
// button2
//
this.button2.Location = new System.Drawing.Point(93, 12);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 2;
this.button2.Text = "Insert";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.InsertButtonOnClick);
//
// button3
//
this.button3.Location = new System.Drawing.Point(174, 12);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 3;
this.button3.Text = "Remove";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button4
//
this.button4.Location = new System.Drawing.Point(255, 12);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 23);
this.button4.TabIndex = 4;
this.button4.Text = "MoveAll";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// FullyResponsive
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(640, 431);
this.Controls.Add(this.button4);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.cartesianChart1);
this.Name = "FullyResponsive";
this.Text = "FullyResponsive";
this.Load += new System.EventHandler(this.FullyResponsive_Load);
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class FullyResponsive : Form
{
public FullyResponsive()
{
InitializeComponent();
Values = new ChartValues<ObservableValue>
{
new ObservableValue(3),
new ObservableValue(6),
new ObservableValue(7),
new ObservableValue(4),
new ObservableValue(2)
};
cartesianChart1.LegendLocation = LegendLocation.Right;
}
public ChartValues<ObservableValue> Values { get; set; }
private void FullyResponsive_Load(object sender, EventArgs e)
{
cartesianChart1.Series.Add(new LineSeries
{
Values = Values,
StrokeThickness = 4,
PointGeometrySize = 0,
DataLabels = true
});
}
private void AddButtonOnClick(object sender, EventArgs e)
{
var r = new Random();
Values.Add(new ObservableValue(r.Next(-20, 20)));
}
private void InsertButtonOnClick(object sender, EventArgs e)
{
var r = new Random();
if (Values.Count > 3)
Values.Insert(2, new ObservableValue(r.Next(-20, 20)));
}
private void button3_Click(object sender, EventArgs e)
{
Values.RemoveAt(0);
}
private void button4_Click(object sender, EventArgs e)
{
var r = new Random();
foreach (var observable in Values)
{
observable.Value = r.Next(-20, 20);
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class FunnelExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(662, 409);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// FunnelExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(662, 409);
this.Controls.Add(this.cartesianChart1);
this.Name = "FunnelExample";
this.Text = "FunnelExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using LiveCharts;
using LiveCharts.Wpf;
using Color = System.Drawing.Color;
using HorizontalAlignment = System.Windows.HorizontalAlignment;
using Panel = System.Windows.Controls.Panel;
namespace Test.UC
{
public partial class FunnelExample : Form
{
public FunnelExample()
{
InitializeComponent();
//Credit https://dribbble.com/shots/2673159-Funnel-UI-concept
//Icons http://www.flaticon.com/authors/madebyoliver
BackColor = Color.FromArgb(255, 20, 20, 75);
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> {100, 85, 50, 35, 5, 3},
Fill = new SolidColorBrush(System.Windows.Media.Color.FromRgb(33, 106, 254)),
PointGeometry = null,
AreaLimit = 0,
StrokeThickness = 0
});
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> {-100, -85, -50, -35, -5, 3},
Fill = new SolidColorBrush(System.Windows.Media.Color.FromRgb(33, 106, 254)),
PointGeometry = null,
AreaLimit = 0,
StrokeThickness = 0
});
var s2 = new LineSeries
{
Values = new ChartValues<double> {110, 94, 60, 40, 10, 10},
Fill = new SolidColorBrush(System.Windows.Media.Color.FromRgb(34, 44, 120)),
PointGeometry = null,
AreaLimit = 0,
StrokeThickness = 0
};
var s3 = new LineSeries
{
Values = new ChartValues<double> {-110, -94, -60, -40, -10, -10},
Fill = new SolidColorBrush(System.Windows.Media.Color.FromRgb(34, 44, 120)),
PointGeometry = null,
AreaLimit = 0,
StrokeThickness = 0
};
var s4 = new LineSeries
{
Values = new ChartValues<double> {120, 104, 70, 50, 15, 15},
Fill = new SolidColorBrush(System.Windows.Media.Color.FromRgb(20, 24, 89)),
PointGeometry = null,
AreaLimit = 0,
StrokeThickness = 0
};
var s5 = new LineSeries
{
Values = new ChartValues<double> {-120, -104, -70, -50, -15, -15},
Fill = new SolidColorBrush(System.Windows.Media.Color.FromRgb(20, 24, 89)),
PointGeometry = null,
AreaLimit = 0,
StrokeThickness = 0
};
Panel.SetZIndex(s2, -1);
Panel.SetZIndex(s3, -1);
Panel.SetZIndex(s4, -2);
Panel.SetZIndex(s5, -2);
cartesianChart1.Series.Add(s2);
cartesianChart1.Series.Add(s3);
cartesianChart1.Series.Add(s4);
cartesianChart1.Series.Add(s5);
cartesianChart1.AxisY.Add(new Axis { IsEnabled = false, ShowLabels = false });
var section1 = new AxisSection
{
Value = 1.5,
Stroke = new SolidColorBrush(System.Windows.Media.Color.FromArgb(38, 255, 255, 255)),
StrokeThickness = 5
};
var section2 = new AxisSection
{
Value = 3.5,
Stroke = new SolidColorBrush(System.Windows.Media.Color.FromArgb(38, 255, 255, 255)),
StrokeThickness = 5
};
Panel.SetZIndex(section1, 1);
Panel.SetZIndex(section2, 1);
cartesianChart1.AxisX.Add(new Axis
{
IsEnabled = false,
ShowLabels = false,
Sections = new SectionsCollection
{
section1,
section2
}
});
var userUri = new Uri(@"Cartesian/FunnelChart/Resources/user.png", UriKind.Relative);
var fingerUri = new Uri("Cartesian/FunnelChart/Resources/fingerprint.png", UriKind.Relative);
var viewUri = new Uri("Cartesian/FunnelChart/Resources/view.png", UriKind.Relative);
var ve1 = new VisualElement
{
X = 0.75,
Y = 120,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Center,
UIElement = new StackPanel
{
Children =
{
new Image {Source = new BitmapImage(userUri)},
new TextBlock { Text = "LOADED THE AD", FontSize = 16, Foreground = Brushes.White}
}
}
};
var ve2 = new VisualElement
{
X = 0.75,
Y = 0,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center,
UIElement = new TextBlock { Text = "100 %", FontSize = 40, Foreground = Brushes.White}
};
var ve3 = new VisualElement
{
X = 2.5,
Y = 120,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Center,
UIElement = new StackPanel
{
Children =
{
new Image {Source = new BitmapImage(viewUri)},
new TextBlock { Text = "SAW THE AD", FontSize = 16, Foreground = Brushes.White}
}
}
};
var ve4 = new VisualElement
{
X = 2.5,
Y = 0,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center,
UIElement = new TextBlock { Text = "50 %", FontSize = 40, Foreground = Brushes.White }
};
var ve5 = new VisualElement
{
X = 4.25,
Y = 120,
VerticalAlignment = VerticalAlignment.Bottom,
HorizontalAlignment = HorizontalAlignment.Center,
UIElement = new StackPanel
{
Children =
{
new Image {Source = new BitmapImage(fingerUri)},
new TextBlock { Text = "INTERACTED", FontSize = 16, Foreground = Brushes.White}
}
}
};
var ve6 = new VisualElement
{
X = 4.25,
Y = 0,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center,
UIElement = new TextBlock { Text = "100 %", FontSize = 40, Foreground = Brushes.White }
};
cartesianChart1.VisualElements.AddRange(new[]
{
ve1, ve2, ve3, ve4, ve5, ve6
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class GanttExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.elementHost1 = new System.Windows.Forms.Integration.ElementHost();
this.cartesianChart1 = new LiveCharts.Wpf.CartesianChart();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// elementHost1
//
this.elementHost1.Dock = System.Windows.Forms.DockStyle.Fill;
this.elementHost1.Location = new System.Drawing.Point(0, 0);
this.elementHost1.Name = "elementHost1";
this.elementHost1.Size = new System.Drawing.Size(509, 406);
this.elementHost1.TabIndex = 0;
this.elementHost1.Text = "elementHost1";
this.elementHost1.Child = this.cartesianChart1;
//
// button1
//
this.button1.Location = new System.Drawing.Point(422, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Reset Zoom";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// GanttExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(509, 406);
this.Controls.Add(this.button1);
this.Controls.Add(this.elementHost1);
this.Name = "GanttExample";
this.Text = "GanttExample";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Integration.ElementHost elementHost1;
private LiveCharts.Wpf.CartesianChart cartesianChart1;
private System.Windows.Forms.Button button1;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class GanttExample : Form
{
private ChartValues<GanttPoint> _values;
public GanttExample()
{
InitializeComponent();
var now = System.DateTime.Now;
_values = new ChartValues<GanttPoint>
{
new GanttPoint(now.Ticks, now.AddDays(2).Ticks),
new GanttPoint(now.AddDays(1).Ticks, now.AddDays(3).Ticks),
new GanttPoint(now.AddDays(3).Ticks, now.AddDays(5).Ticks),
new GanttPoint(now.AddDays(5).Ticks, now.AddDays(8).Ticks),
new GanttPoint(now.AddDays(6).Ticks, now.AddDays(10).Ticks),
new GanttPoint(now.AddDays(7).Ticks, now.AddDays(14).Ticks),
new GanttPoint(now.AddDays(9).Ticks, now.AddDays(12).Ticks),
new GanttPoint(now.AddDays(9).Ticks, now.AddDays(14).Ticks),
new GanttPoint(now.AddDays(10).Ticks, now.AddDays(11).Ticks),
new GanttPoint(now.AddDays(12).Ticks, now.AddDays(16).Ticks),
new GanttPoint(now.AddDays(15).Ticks, now.AddDays(17).Ticks),
new GanttPoint(now.AddDays(18).Ticks, now.AddDays(19).Ticks)
};
cartesianChart1.Zoom = ZoomingOptions.X;
cartesianChart1.Series = new SeriesCollection
{
new RowSeries
{
Values = _values,
DataLabels = true
}
};
cartesianChart1.AxisX.Add(new Axis
{
LabelFormatter = value => new System.DateTime((long)value).ToString("dd MMM")
});
var labels = new List<string>();
for (var i = 0; i < 12; i++)
labels.Add("Task " + i);
cartesianChart1.AxisY.Add(new Axis
{
Labels = labels.ToArray()
});
button1_Click(null, null);
}
private void button1_Click(object sender, EventArgs e)
{
cartesianChart1.AxisX[0].MinValue = _values.First().StartPoint;
cartesianChart1.AxisX[0].MaxValue = _values.Last().EndPoint;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class HeatSeriesExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(637, 403);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// HeatSeriesExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(637, 403);
this.Controls.Add(this.cartesianChart1);
this.Name = "HeatSeriesExample";
this.Text = "HeatSeriesExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class HeatSeriesExample : Form
{
public HeatSeriesExample()
{
InitializeComponent();
var r = new Random();
cartesianChart1.Series.Add(new HeatSeries
{
Values = new ChartValues<HeatPoint>
{
//X means sales man
//Y is the day
//"Jeremy Swanson"
new HeatPoint(0, 0, r.Next(0, 10)),
new HeatPoint(0, 1, r.Next(0, 10)),
new HeatPoint(0, 2, r.Next(0, 10)),
new HeatPoint(0, 3, r.Next(0, 10)),
new HeatPoint(0, 4, r.Next(0, 10)),
new HeatPoint(0, 5, r.Next(0, 10)),
new HeatPoint(0, 6, r.Next(0, 10)),
//"Lorena Hoffman"
new HeatPoint(1, 0, r.Next(0, 10)),
new HeatPoint(1, 1, r.Next(0, 10)),
new HeatPoint(1, 2, r.Next(0, 10)),
new HeatPoint(1, 3, r.Next(0, 10)),
new HeatPoint(1, 4, r.Next(0, 10)),
new HeatPoint(1, 5, r.Next(0, 10)),
new HeatPoint(1, 6, r.Next(0, 10)),
//"Robyn Williamson"
new HeatPoint(2, 0, r.Next(0, 10)),
new HeatPoint(2, 1, r.Next(0, 10)),
new HeatPoint(2, 2, r.Next(0, 10)),
new HeatPoint(2, 3, r.Next(0, 10)),
new HeatPoint(2, 4, r.Next(0, 10)),
new HeatPoint(2, 5, r.Next(0, 10)),
new HeatPoint(2, 6, r.Next(0, 10)),
//"Carole Haynes"
new HeatPoint(3, 0, r.Next(0, 10)),
new HeatPoint(3, 1, r.Next(0, 10)),
new HeatPoint(3, 2, r.Next(0, 10)),
new HeatPoint(3, 3, r.Next(0, 10)),
new HeatPoint(3, 4, r.Next(0, 10)),
new HeatPoint(3, 5, r.Next(0, 10)),
new HeatPoint(3, 6, r.Next(0, 10)),
//"Essie Nelson"
new HeatPoint(4, 0, r.Next(0, 10)),
new HeatPoint(4, 1, r.Next(0, 10)),
new HeatPoint(4, 2, r.Next(0, 10)),
new HeatPoint(4, 3, r.Next(0, 10)),
new HeatPoint(4, 4, r.Next(0, 10)),
new HeatPoint(4, 5, r.Next(0, 10)),
new HeatPoint(4, 6, r.Next(0, 10))
},
DataLabels = true,
//The GradientStopCollection is optional
//If you do not set this property, LiveCharts will set a gradient
GradientStopCollection = new GradientStopCollection
{
new GradientStop(Color.FromRgb(0, 0, 0), 0),
new GradientStop(Color.FromRgb(0, 255, 0), .25),
new GradientStop(Color.FromRgb(0, 0, 255), .5),
new GradientStop(Color.FromRgb(255, 0, 0), .75),
new GradientStop(Color.FromRgb(255, 255, 255), 1)
}
});
cartesianChart1.AxisX.Add(new Axis
{
LabelsRotation = -15,
Labels = new[]
{
"Jeremy Swanson",
"Lorena Hoffman",
"Robyn Williamson",
"Carole Haynes",
"Essie Nelson"
},
Separator = new Separator {Step = 1}
});
cartesianChart1.AxisY.Add(new Axis
{
Labels = new[]
{
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
}
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class InvertedSeries
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(671, 449);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// InvertedSeries
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(671, 449);
this.Controls.Add(this.cartesianChart1);
this.Name = "InvertedSeries";
this.Text = "InvertedSeries";
this.Load += new System.EventHandler(this.InvertedSeries_Load);
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class InvertedSeries : Form
{
public InvertedSeries()
{
InitializeComponent();
cartesianChart1.Series.Add(new VerticalLineSeries
{
Values = new ChartValues<double> { 3, 5, 2, 6, 2, 7, 1 }
});
cartesianChart1.Series.Add(new RowSeries
{
Values = new ChartValues<double> {6, 2, 6, 3, 2, 7, 2}
});
cartesianChart1.AxisY.Add(new Axis
{
Separator = new Separator { Step = 1}
});
cartesianChart1.AxisX.Add(new Axis
{
MinValue = 0
});
var tooltip = new DefaultTooltip
{
SelectionMode = TooltipSelectionMode.SharedYValues
};
cartesianChart1.DataTooltip = tooltip;
}
private void InvertedSeries_Load(object sender, EventArgs e)
{
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class IrregularIntervalsExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(659, 471);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// IrregularIntervalsExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(659, 471);
this.Controls.Add(this.cartesianChart1);
this.Name = "IrregularIntervalsExample";
this.Text = "IrregularIntervalsExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class IrregularIntervalsExample : Form
{
public IrregularIntervalsExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new LineSeries
{
Values = new ChartValues<ObservablePoint>
{
new ObservablePoint(0, 10),
new ObservablePoint(4, 7),
new ObservablePoint(5, 3),
new ObservablePoint(7, 6),
new ObservablePoint(10, 8)
},
PointGeometrySize = 15
},
new LineSeries
{
Values = new ChartValues<ObservablePoint>
{
new ObservablePoint(0, 2),
new ObservablePoint(2, 5),
new ObservablePoint(3, 6),
new ObservablePoint(6, 8),
new ObservablePoint(10, 5)
},
PointGeometrySize = 15
},
new LineSeries
{
Values = new ChartValues<ObservablePoint>
{
new ObservablePoint(0, 4),
new ObservablePoint(5, 5),
new ObservablePoint(7, 7),
new ObservablePoint(9, 10),
new ObservablePoint(10, 9)
},
PointGeometrySize = 15
}
};
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class Labels
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(584, 361);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// Labels
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(584, 361);
this.Controls.Add(this.cartesianChart1);
this.Name = "Labels";
this.Text = "Labels";
this.Load += new System.EventHandler(this.Labels_Load);
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class Labels : Form
{
public Labels()
{
InitializeComponent();
}
private void Labels_Load(object sender, EventArgs e)
{
cartesianChart1.Series.Add(new ColumnSeries
{
Values = new ChartValues<ObservableValue>
{
new ObservableValue(4),
new ObservableValue(2),
new ObservableValue(8),
new ObservableValue(2),
new ObservableValue(3),
new ObservableValue(0),
new ObservableValue(1),
},
DataLabels = true,
LabelPoint = point => point.Y + "K"
});
cartesianChart1.AxisX.Add(new Axis
{
Labels = new[]
{
"Shea Ferriera",
"Maurita Powel",
"Scottie Brogdon",
"Teresa Kerman",
"Nell Venuti",
"Anibal Brothers",
"Anderson Dillman"
},
Separator = new Separator // force the separator step to 1, so it always display all labels
{
Step = 1,
IsEnabled = false //disable it to make it invisible.
},
LabelsRotation = 15
});
cartesianChart1.AxisY.Add(new Axis
{
LabelFormatter = value => value + ".00K items",
Separator = new Separator()
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
using System;
namespace Test.UC
{
public class City
{
public Guid Id { get; set; }
public string Name { get; set; }
public double Population { get; set; }
public double Area { get; set; }
public string Country { get; set; }
}
}
using System.Collections.Generic;
using System.Globalization;
using System.IO;
namespace Test.UC
{
public static class DataBase
{
static DataBase()
{
var reader = new StreamReader(File.OpenRead(System.Windows.Forms.Application.StartupPath+ @"\UC\UCTestLiveCharts\Cartesian\Linqcities.csv"));
var read = new List<City>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
if (line != null)
{
var values = line.Split(',');
read.Add(new City
{
Name = values[0],
Population = double.Parse(values[1], CultureInfo.InvariantCulture),
Area = double.Parse(values[2], CultureInfo.InvariantCulture),
Country = values[3]
});
}
}
Cities = read.ToArray();
}
public static City[] Cities { get; private set; }
}
}
namespace Test.UC
{
partial class LinqExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(525, 442);
this.cartesianChart1.TabIndex = 1;
this.cartesianChart1.Text = "cartesianChart1";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 12);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 2;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// LinqExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(525, 442);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.cartesianChart1);
this.Name = "LinqExample";
this.Text = "LinqExample";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.TextBox textBox1;
}
}
\ No newline at end of file
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Configurations;
using LiveCharts.Helpers;
using LiveCharts.Wpf;
using Separator = LiveCharts.Wpf.Separator;
namespace Test.UC
{
public partial class LinqExample : Form
{
public LinqExample()
{
InitializeComponent();
//lets configure the chart to plot cities
var mapper = Mappers.Xy<City>()
.X((city, index) => index)
.Y(city => city.Population);
//lets take the first 15 records by default;
var records = DataBase.Cities.OrderByDescending(x => x.Population).Take(15).ToArray();
Results = records.AsChartValues();
Labels = records.Select(x => x.Name).ToList();
cartesianChart1.Series = new SeriesCollection
{
new ColumnSeries
{
Configuration = mapper,
Values = Results
}
};
cartesianChart1.AxisY.Add(new Axis
{
LabelFormatter = value => (value/1000000).ToString("N") + "M"
});
cartesianChart1.AxisX.Add(new Axis
{
Labels = Labels,
DisableAnimations = true,
LabelsRotation = 20,
Separator = new Separator
{
Step = 1
}
});
}
public ChartValues<City> Results { get; set; }
public List<string> Labels { get; set; }
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
var q = ((TextBox) sender).Text ?? string.Empty;
q = q.ToUpper();
var records = DataBase.Cities
.Where(x => x.Name.ToUpper().Contains(q) || x.Country.ToUpper().Contains(q))
.OrderByDescending(x => x.Population)
.Take(15)
.ToArray();
Results.Clear();
Results.AddRange(records);
Labels.Clear();
foreach (var record in records) Labels.Add(record.Name);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
Shanghai,24256800,6340.5, China
Karachi,23500000,3527, Pakistan
Mumbai,22000000,603.4, India
Beijing,21516000,16410.54, China
Delhi,18686902,1483, India
Lagos,16060303,1171.28, Nigeria
Tianjin,15200000,11760, China
Istanbul,14160467,5461, Turkey
Tokyo,13297629,2189, Japan
Guangzhou,13080500,7434.4, China
Moscow,12197596,2510.12, Russia
SA Paulo,11895893,1521.11, Brazil
Hyderabad,11723548,621.48, India
Bengaluru,11556907,709.5, India
Shenzhen,10467400,1991.64, China
Jakarta,10075310,664.12, Indonesia
Lahore,10052000,1772, Pakistan
Seoul,9995784,605.21, South Korea
Kinshasa,9735000,1117.62, Democratic Republic of the Congo
Cairo,9278441,3085.1, Egypt
Mexico City,8874724,1485.49, Mexico
Lima,8693387,2672.3, Peru
London,8673713,1572.15, United Kingdom
New York City,8550405,783.84, United States
Bangkok,8280925,1568.74, Thailand
Ho Chi Minh City,8224400,2095.5, Vietnam
Dongguan,8220207,2469.4, China
Chongqing,8189800,5473, China
Nanjing,8187828,4713.85, China
Tehran,8154051,686, Iran
Shenyang,8106171,12942, China
Bogot?7776845,859.11, Colombia
Ningbo,7605689,9816.23, China
Hong Kong,7298600,1104.43, China
Hanoi,7232700,3324.5, Vietnam
Baghdad,7180889,4555, Iraq
Changsha,7044118,11819, China
Dhaka,6970105,300, Bangladesh
Wuhan,6886253,1327.61, China
Rio de Janeiro,6429923,1200.27, Brazil
Faisalabad,6418745,214, Pakistan
Foshan,6151622,2034.62, China
Zunyi,6127009,30763, China
Santiago,5743719,1249.9, Chile
Riyadh,5676621,1233.98, Saudi Arabia
Ahmedabad,5570585,475, India
Singapore,5535000,719.1, Singapore
Shantou,5391028,2064.42, China
Yangon,5214000,598.75, Myanmar
Saint Petersburg,5191690,1439, Russia
Chennai,4792949,426.51, India
Abidjan,4765000,2119, Ivory Coast
Chengdu,4741929,421, China
Alexandria,4616625,2300, Egypt
Kolkata,4486679,200.7, India
Ankara,4470800,1910.92, Turkey
Xi'an,4467837,832.17, China
Surat,4462002,326.515, India
Johannesburg,4434827,1644.98, South Africa
Dar es Salaam,4364541,1631.12, Tanzania
Suzhou,4327066,1649.72, China
Harbin,4280701,1718.2, China
Giza,4239988,289.08, Egypt
Zhengzhou,4122087,1015.66, China
New Taipei City,3954929,2052.57, Taiwan
Los Angeles,3884307,1213.85, United States
Cape Town,3740026,2444.97, South Africa
Yokohama,3680267,437.38, Japan
Busan,3590101,766.12, South Korea
Hangzhou,3560391,728.19, China
Xiamen,3531347,1699, China
Quanzhou,3520846,1062, China
Berlin,3517424,891.75, Germany
Rawalpindi,3510000,127, Pakistan
Jeddah,3456259,1765, Saudi Arabia
Durban,3442361,2291.31, South Africa
Hyderabad,3429471,114, Pakistan
Kabul,3414100,275, Afghanistan
Casablanca,3359818,387, Morocco
Hefei,3352076,838.52, China
Pyongyang,3255388,2113, North Korea
Madrid,3207247,605.77, Spain
Peshawar,3201000,125, Pakistan
Ekurhuleni,3178470,1975.31, South Africa
Nairobi,3138369,694.9, Kenya
Zhongshan,3121275,1783.67, China
Pune,3115431,450.69, India
Addis Ababa,3103673,526.99, Ethiopia
Jaipur,3073350,485, India
Buenos Aires,3054300,203, Argentina
Wenzhou,3039439,1187.88, China
namespace Test.UC
{
partial class LogarithmSacale
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(579, 379);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// LogarithmSacale
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(579, 379);
this.Controls.Add(this.cartesianChart1);
this.Name = "LogarithmSacale";
this.Text = "LogarithmSacale";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Configurations;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class LogarithmSacale : Form
{
public LogarithmSacale()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection(Mappers.Xy<ObservablePoint>()
.X(point => Math.Log10(point.X))
.Y(point => point.Y))
{
new LineSeries
{
Values = new ChartValues<ObservablePoint>
{
new ObservablePoint(1, 5),
new ObservablePoint(10, 6),
new ObservablePoint(100, 4),
new ObservablePoint(1000, 2),
new ObservablePoint(10000, 8),
new ObservablePoint(100000, 2),
new ObservablePoint(1000000, 9),
new ObservablePoint(10000000, 8)
}
}
};
cartesianChart1.AxisX.Add(new LogarithmicAxis
{
LabelFormatter = value => Math.Pow(10, value).ToString("N"),
Base = 10,
Separator = new Separator
{
Stroke = Brushes.LightGray
}
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class MissingPoint
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(688, 455);
this.cartesianChart1.TabIndex = 4;
this.cartesianChart1.Text = "cartesianChart1";
//
// MissingPoint
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(688, 455);
this.Controls.Add(this.cartesianChart1);
this.Name = "MissingPoint";
this.Text = "MissingPoint";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class MissingPoint : Form
{
public MissingPoint()
{
InitializeComponent();
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double>
{
4,
5,
7,
8,
double.NaN,
5,
2,
8,
double.NaN,
6,
2
}
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class MultipleAxesExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(605, 434);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// MultipleAxesExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(605, 434);
this.Controls.Add(this.cartesianChart1);
this.Name = "MultipleAxesExample";
this.Text = "MultipleAxesExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class MultipleAxesExample : Form
{
public MultipleAxesExample()
{
InitializeComponent();
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> {1, 5, 3, 5, 3},
ScalesYAt = 0
});
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 20, 30, 70, 20, 10 },
ScalesYAt = 1
});
cartesianChart1.Series.Add(new LineSeries
{
Values = new ChartValues<double> { 600, 300, 200, 600, 800 },
ScalesYAt = 2
});
//now we add the 3 axes
cartesianChart1.AxisY.Add(new Axis
{
Foreground = System.Windows.Media.Brushes.DodgerBlue,
Title = "Blue Axis"
});
cartesianChart1.AxisY.Add(new Axis
{
Foreground = System.Windows.Media.Brushes.IndianRed,
Title = "Red Axis",
Position = AxisPosition.RightTop
});
cartesianChart1.AxisY.Add(new Axis
{
Foreground = System.Windows.Media.Brushes.DarkOliveGreen,
Title = "Green Axis",
Position = AxisPosition.RightTop
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class NegativeStackedRow
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(658, 464);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// NegativeStackedRow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(658, 464);
this.Controls.Add(this.cartesianChart1);
this.Name = "NegativeStackedRow";
this.Text = "NegativeStackedRow";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class NegativeStackedRow : Form
{
public NegativeStackedRow()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new StackedRowSeries
{
Title = "Male",
Values = new ChartValues<double> {.5, .7, .8, .8, .6, .2, .6}
},
new StackedRowSeries
{
Title = "Female",
Values = new ChartValues<double> {-.5, -.7, -.8, -.8, -.6, -.2, -.6}
}
};
cartesianChart1.AxisX.Add(new Axis
{
Title = "Age Range",
Labels = new[] {"0-20", "20-35", "35-45", "45-55", "55-65", "65-70", ">70"}
});
cartesianChart1.AxisY.Add(new Axis
{
LabelFormatter = value => Math.Abs(value).ToString("P")
});
var tooltip = new DefaultTooltip
{
SelectionMode = TooltipSelectionMode.SharedYValues
};
cartesianChart1.DataTooltip = tooltip;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class PointState
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.elementHost1 = new System.Windows.Forms.Integration.ElementHost();
this.cartesianChart1 = new LiveCharts.Wpf.CartesianChart();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// elementHost1
//
this.elementHost1.Dock = System.Windows.Forms.DockStyle.Fill;
this.elementHost1.Location = new System.Drawing.Point(0, 0);
this.elementHost1.Name = "elementHost1";
this.elementHost1.Size = new System.Drawing.Size(535, 422);
this.elementHost1.TabIndex = 0;
this.elementHost1.Text = "elementHost1";
this.elementHost1.Child = this.cartesianChart1;
//
// button1
//
this.button1.Location = new System.Drawing.Point(13, 13);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Update";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// PointState
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(535, 422);
this.Controls.Add(this.button1);
this.Controls.Add(this.elementHost1);
this.Name = "PointState";
this.Text = "PointState";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Integration.ElementHost elementHost1;
private LiveCharts.Wpf.CartesianChart cartesianChart1;
private System.Windows.Forms.Button button1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Configurations;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class PointState : Form
{
private ChartValues<ObservableValue> _values;
public PointState()
{
InitializeComponent();
var r = new Random();
_values = new ChartValues<ObservableValue>
{
new ObservableValue(r.Next(10, 400)),
new ObservableValue(r.Next(10, 400)),
new ObservableValue(r.Next(10, 400)),
new ObservableValue(r.Next(10, 400)),
new ObservableValue(r.Next(10, 400)),
new ObservableValue(r.Next(10, 400))
};
var dangerBrush = new SolidColorBrush(Color.FromRgb(238, 83, 80));
//Lets define a custom mapper, to set fill and stroke
//according to chart values...
var mapper = Mappers.Xy<ObservableValue>()
.X((item, index) => index)
.Y(item => item.Value)
.Fill(item => item.Value > 200 ? dangerBrush : null)
.Stroke(item => item.Value > 200 ? dangerBrush : null);
cartesianChart1.Series.Add(new LineSeries
{
Configuration = mapper,
Values = _values,
PointGeometrySize = 20,
PointForeground = Brushes.White
});
cartesianChart1.AxisY.Add(new Axis
{
LabelFormatter = x => x + " ms"
});
}
private void button1_Click(object sender, EventArgs e)
{
var r = new Random();
foreach (var observable in _values)
{
observable.Value = r.Next(10, 400);
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class ScatterForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(543, 416);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(13, 13);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Randomize";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// ScatterForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(543, 416);
this.Controls.Add(this.button1);
this.Controls.Add(this.cartesianChart1);
this.Name = "ScatterForm";
this.Text = "ScatterForm";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.Button button1;
}
}
\ No newline at end of file
using System;
using System.Linq;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class ScatterForm : Form
{
public ScatterForm()
{
InitializeComponent();
SeriesCollection = new SeriesCollection
{
new ScatterSeries
{
Title = "Series A",
Values = new ChartValues<ObservablePoint>()
},
new ScatterSeries
{
Title = "Series B",
Values = new ChartValues<ObservablePoint>(),
PointGeometry = DefaultGeometries.Diamond
},
new ScatterSeries
{
Title = "Series C",
Values = new ChartValues<ObservablePoint>(),
PointGeometry = DefaultGeometries.Triangle,
StrokeThickness = 2,
Fill = Brushes.Transparent
}
};
var r = new Random();
foreach (var series in SeriesCollection)
{
for (var i = 0; i < 20; i++)
{
series.Values.Add(new ObservablePoint(r.NextDouble()*10, r.NextDouble()*10));
}
}
cartesianChart1.Series = SeriesCollection;
cartesianChart1.LegendLocation = LegendLocation.Bottom;
}
public SeriesCollection SeriesCollection { get; set; }
private void button1_Click(object sender, EventArgs e)
{
var r = new Random();
foreach (var values in SeriesCollection.Select(x => x.Values))
{
for (var i = 0; i < 20; i++)
{
((ObservablePoint) values[i]).X = r.NextDouble()*10;
((ObservablePoint) values[i]).Y = r.NextDouble()*10;
}
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class SectionsExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(578, 423);
this.cartesianChart1.TabIndex = 2;
this.cartesianChart1.Text = "cartesianChart1";
//
// SectionsExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(578, 423);
this.Controls.Add(this.cartesianChart1);
this.Name = "SectionsExample";
this.Text = "SectionsExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Collections.Generic;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class SectionsExample : Form
{
public SectionsExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new LineSeries
{
Values = new ChartValues<ObservableValue>
{
new ObservableValue(3),
new ObservableValue(5),
new ObservableValue(2),
new ObservableValue(7),
new ObservableValue(7),
new ObservableValue(4)
},
PointGeometry = DefaultGeometries.None,
StrokeThickness = 4,
Fill = Brushes.Transparent
},
new LineSeries
{
Values = new ChartValues<ObservableValue>
{
new ObservableValue(3),
new ObservableValue(4),
new ObservableValue(6),
new ObservableValue(8),
new ObservableValue(7),
new ObservableValue(5)
},
PointGeometry = DefaultGeometries.None,
StrokeThickness = 4,
Fill = Brushes.Transparent
}
};
cartesianChart1.AxisY.Add(new Axis
{
Sections = new SectionsCollection
{
new AxisSection
{
Value = 8.5,
Stroke = new SolidColorBrush(System.Windows.Media.Color.FromRgb(248, 213, 72))
},
new AxisSection
{
Label = "Good",
Value = 4,
SectionWidth = 4,
Fill = new SolidColorBrush
{
Color = System.Windows.Media.Color.FromRgb(204,204,204),
Opacity = .4
}
},
new AxisSection
{
Label = "Bad",
Value = 0,
SectionWidth = 4,
Fill = new SolidColorBrush
{
Color = System.Windows.Media.Color.FromRgb(254,132,132),
Opacity = .4
}
}
}
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class StackedAreaExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(610, 459);
this.cartesianChart1.TabIndex = 2;
this.cartesianChart1.Text = "cartesianChart1";
//
// StackedAreaExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(610, 459);
this.Controls.Add(this.cartesianChart1);
this.Name = "StackedAreaExample";
this.Text = "StackedAreaExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class StackedAreaExample : Form
{
public StackedAreaExample()
{
InitializeComponent();
cartesianChart1.Series = new SeriesCollection
{
new StackedAreaSeries
{
Title = "Africa",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(1950, 1, 1), .228),
new DateTimePoint(new System.DateTime(1960, 1, 1), .285),
new DateTimePoint(new System.DateTime(1970, 1, 1), .366),
new DateTimePoint(new System.DateTime(1980, 1, 1), .478),
new DateTimePoint(new System.DateTime(1990, 1, 1), .629),
new DateTimePoint(new System.DateTime(2000, 1, 1), .808),
new DateTimePoint(new System.DateTime(2010, 1, 1), 1.031),
new DateTimePoint(new System.DateTime(2013, 1, 1), 1.110)
},
LineSmoothness = 0
},
new StackedAreaSeries
{
Title = "N & S America",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(1950, 1, 1), .339),
new DateTimePoint(new System.DateTime(1960, 1, 1), .424),
new DateTimePoint(new System.DateTime(1970, 1, 1), .519),
new DateTimePoint(new System.DateTime(1980, 1, 1), .618),
new DateTimePoint(new System.DateTime(1990, 1, 1), .727),
new DateTimePoint(new System.DateTime(2000, 1, 1), .841),
new DateTimePoint(new System.DateTime(2010, 1, 1), .942),
new DateTimePoint(new System.DateTime(2013, 1, 1), .972)
},
LineSmoothness = 0
},
new StackedAreaSeries
{
Title = "Asia",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(1950, 1, 1), 1.395),
new DateTimePoint(new System.DateTime(1960, 1, 1), 1.694),
new DateTimePoint(new System.DateTime(1970, 1, 1), 2.128),
new DateTimePoint(new System.DateTime(1980, 1, 1), 2.634),
new DateTimePoint(new System.DateTime(1990, 1, 1), 3.213),
new DateTimePoint(new System.DateTime(2000, 1, 1), 3.717),
new DateTimePoint(new System.DateTime(2010, 1, 1), 4.165),
new DateTimePoint(new System.DateTime(2013, 1, 1), 4.298)
},
LineSmoothness = 0
},
new StackedAreaSeries
{
Title = "Europe",
Values = new ChartValues<DateTimePoint>
{
new DateTimePoint(new System.DateTime(1950, 1, 1), .549),
new DateTimePoint(new System.DateTime(1960, 1, 1), .605),
new DateTimePoint(new System.DateTime(1970, 1, 1), .657),
new DateTimePoint(new System.DateTime(1980, 1, 1), .694),
new DateTimePoint(new System.DateTime(1990, 1, 1), .723),
new DateTimePoint(new System.DateTime(2000, 1, 1), .729),
new DateTimePoint(new System.DateTime(2010, 1, 1), .740),
new DateTimePoint(new System.DateTime(2013, 1, 1), .742)
},
LineSmoothness = 0
}
};
cartesianChart1.AxisX.Add(new Axis
{
LabelFormatter = val => new System.DateTime((long)val).ToString("yyyy")
});
cartesianChart1.AxisY.Add(new Axis
{
LabelFormatter = val => val.ToString("N") + " M"
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class StepLineExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(636, 454);
this.cartesianChart1.TabIndex = 0;
this.cartesianChart1.Text = "cartesianChart1";
//
// StepLineExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(636, 454);
this.Controls.Add(this.cartesianChart1);
this.Name = "StepLineExample";
this.Text = "StepLineExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class StepLineExample : Form
{
public StepLineExample()
{
InitializeComponent();
cartesianChart1.Series.Add(new StepLineSeries
{
Values = new ChartValues<double> { 9, 6, 5, 7, 8, 9, 7, 6, 7, 5 }
});
cartesianChart1.Series.Add(new StepLineSeries
{
Values = new ChartValues<double> {1, 4, 3, 1, 4, 2, 1, 2, 3, 5},
AlternativeStroke = Brushes.Transparent,
StrokeThickness = 3,
PointGeometry = null
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class UielementsExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.X = new System.Windows.Forms.Label();
this.Y = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(551, 432);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// X
//
this.X.AutoSize = true;
this.X.Location = new System.Drawing.Point(13, 13);
this.X.Name = "X";
this.X.Size = new System.Drawing.Size(20, 13);
this.X.TabIndex = 4;
this.X.Text = "X: ";
//
// Y
//
this.Y.AutoSize = true;
this.Y.Location = new System.Drawing.Point(79, 13);
this.Y.Name = "Y";
this.Y.Size = new System.Drawing.Size(20, 13);
this.Y.TabIndex = 5;
this.Y.Text = "Y: ";
//
// UielementsExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(551, 432);
this.Controls.Add(this.Y);
this.Controls.Add(this.X);
this.Controls.Add(this.cartesianChart1);
this.Name = "UielementsExample";
this.Text = "UielementsExample";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.Label X;
private System.Windows.Forms.Label Y;
}
}
\ No newline at end of file
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using LiveCharts;
using LiveCharts.Wpf;
using Brushes = System.Windows.Media.Brushes;
using HorizontalAlignment = System.Windows.HorizontalAlignment;
using Panel = System.Windows.Controls.Panel;
namespace Test.UC
{
public partial class UielementsExample : Form
{
public UielementsExample()
{
InitializeComponent();
var lineSeries = new LineSeries
{
Values = new ChartValues<double> {4, 6, 6, 3, 5},
Fill = Brushes.Transparent,
StrokeThickness = 4,
PointGeometry = null
};
var barSeries = new ColumnSeries
{
Values = new ChartValues<double> { 2,6,8,9,4}
};
cartesianChart1.Series.Add(lineSeries);
cartesianChart1.Series.Add(barSeries);
cartesianChart1.VisualElements.Add(new VisualElement
{
X = 0.5,
Y = 7,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Top,
UIElement = new TextBlock //notice this property must be a wpf control
{
Text = "Warning!",
FontWeight = FontWeights.Bold,
FontSize = 16,
Opacity = 0.6
}
});
var uri = new Uri("Cartesian/UielementsExample/warning.png", UriKind.Relative);
cartesianChart1.VisualElements.Add(new VisualElement
{
X = 0.5,
Y = 6.9,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Bottom,
UIElement = new System.Windows.Controls.Image
{
Source = new BitmapImage(uri),
Width = 24,
Height = 24
}
});
cartesianChart1.AxisY.Add(new Axis
{
IsMerged = true,
Sections = new SectionsCollection
{
new AxisSection
{
Value = 7,
Stroke = Brushes.YellowGreen,
StrokeThickness = 3,
StrokeDashArray = new DoubleCollection(new [] {10d})
}
}
});
cartesianChart1.AxisX.Add(new Axis
{
Labels = new[] {"Jan", "Feb", "Mar", "Apr", "May"}
});
Panel.SetZIndex(barSeries, 0);
Panel.SetZIndex(lineSeries, 1);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class ZomingAndPanningExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.cartesianChart1 = new LiveCharts.WinForms.CartesianChart();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// cartesianChart1
//
this.cartesianChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cartesianChart1.Location = new System.Drawing.Point(0, 0);
this.cartesianChart1.Name = "cartesianChart1";
this.cartesianChart1.Size = new System.Drawing.Size(579, 473);
this.cartesianChart1.TabIndex = 3;
this.cartesianChart1.Text = "cartesianChart1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 12);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 4;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
//
// ZomingAndPanningExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(579, 473);
this.Controls.Add(this.button1);
this.Controls.Add(this.cartesianChart1);
this.Name = "ZomingAndPanningExample";
this.Text = "ZomingAndPanningExample";
this.Load += new System.EventHandler(this.ZomingAndPanningExample_Load);
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.CartesianChart cartesianChart1;
private System.Windows.Forms.Button button1;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
using Color = System.Drawing.Color;
using Point = System.Windows.Point;
namespace Test.UC
{
public partial class ZomingAndPanningExample : Form
{
public ZomingAndPanningExample()
{
InitializeComponent();
var gradientBrush = new LinearGradientBrush
{
StartPoint = new System.Windows.Point(0, 0),
EndPoint = new Point(0, 1)
};
gradientBrush.GradientStops.Add(new GradientStop(System.Windows.Media.Color.FromRgb(33, 148, 241), 0));
gradientBrush.GradientStops.Add(new GradientStop(Colors.Transparent, 1));
cartesianChart1.Series.Add(new LineSeries
{
Values = GetData(),
Fill = gradientBrush,
StrokeThickness = 1,
PointGeometry = null
});
cartesianChart1.Zoom = ZoomingOptions.X;
cartesianChart1.AxisX.Add(new Axis
{
LabelFormatter = val => new System.DateTime((long)val).ToString("dd MMM")
});
cartesianChart1.AxisY.Add(new Axis
{
LabelFormatter = val => val.ToString("C")
});
}
private ChartValues<DateTimePoint> GetData()
{
var r = new Random();
var trend = 100;
var values = new ChartValues<DateTimePoint>();
for (var i = 0; i < 100; i++)
{
var seed = r.NextDouble();
if (seed > .8) trend += seed > .9 ? 50 : -50;
values.Add(new DateTimePoint(System.DateTime.Now.AddDays(i), trend + r.Next(0, 10)));
}
return values;
}
private void ClearZoom()
{
//to clear the current zoom/pan just set the axis limits to double.NaN
cartesianChart1.AxisX[0].MinValue = double.NaN;
cartesianChart1.AxisX[0].MaxValue = double.NaN;
cartesianChart1.AxisY[0].MinValue = double.NaN;
cartesianChart1.AxisY[0].MaxValue = double.NaN;
}
private void ZomingAndPanningExample_Load(object sender, EventArgs e)
{
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class Gauge360Example
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.solidGauge1 = new LiveCharts.WinForms.SolidGauge();
this.solidGauge2 = new LiveCharts.WinForms.SolidGauge();
this.solidGauge3 = new LiveCharts.WinForms.SolidGauge();
this.solidGauge4 = new LiveCharts.WinForms.SolidGauge();
this.solidGauge5 = new LiveCharts.WinForms.SolidGauge();
this.solidGauge6 = new LiveCharts.WinForms.SolidGauge();
this.SuspendLayout();
//
// solidGauge1
//
this.solidGauge1.Location = new System.Drawing.Point(25, 13);
this.solidGauge1.Name = "solidGauge1";
this.solidGauge1.Size = new System.Drawing.Size(149, 151);
this.solidGauge1.TabIndex = 0;
this.solidGauge1.Text = "solidGauge1";
//
// solidGauge2
//
this.solidGauge2.Location = new System.Drawing.Point(220, 12);
this.solidGauge2.Name = "solidGauge2";
this.solidGauge2.Size = new System.Drawing.Size(149, 151);
this.solidGauge2.TabIndex = 1;
this.solidGauge2.Text = "solidGauge2";
//
// solidGauge3
//
this.solidGauge3.Location = new System.Drawing.Point(25, 170);
this.solidGauge3.Name = "solidGauge3";
this.solidGauge3.Size = new System.Drawing.Size(149, 151);
this.solidGauge3.TabIndex = 2;
this.solidGauge3.Text = "solidGauge3";
//
// solidGauge4
//
this.solidGauge4.Location = new System.Drawing.Point(220, 169);
this.solidGauge4.Name = "solidGauge4";
this.solidGauge4.Size = new System.Drawing.Size(149, 151);
this.solidGauge4.TabIndex = 3;
this.solidGauge4.Text = "solidGauge4";
//
// solidGauge5
//
this.solidGauge5.Location = new System.Drawing.Point(25, 347);
this.solidGauge5.Name = "solidGauge5";
this.solidGauge5.Size = new System.Drawing.Size(149, 151);
this.solidGauge5.TabIndex = 4;
this.solidGauge5.Text = "solidGauge5";
//
// solidGauge6
//
this.solidGauge6.Location = new System.Drawing.Point(220, 347);
this.solidGauge6.Name = "solidGauge6";
this.solidGauge6.Size = new System.Drawing.Size(149, 151);
this.solidGauge6.TabIndex = 5;
this.solidGauge6.Text = "solidGauge6";
//
// Gauge360Example
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(732, 547);
this.Controls.Add(this.solidGauge6);
this.Controls.Add(this.solidGauge5);
this.Controls.Add(this.solidGauge4);
this.Controls.Add(this.solidGauge3);
this.Controls.Add(this.solidGauge2);
this.Controls.Add(this.solidGauge1);
this.Name = "Gauge360Example";
this.Text = "Gauge360Exampl";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.SolidGauge solidGauge1;
private LiveCharts.WinForms.SolidGauge solidGauge2;
private LiveCharts.WinForms.SolidGauge solidGauge3;
private LiveCharts.WinForms.SolidGauge solidGauge4;
private LiveCharts.WinForms.SolidGauge solidGauge5;
private LiveCharts.WinForms.SolidGauge solidGauge6;
}
}
\ No newline at end of file
using System.Windows;
using System.Windows.Forms;
using System.Windows.Media;
namespace Test.UC
{
public partial class Gauge360Example : Form
{
public Gauge360Example()
{
InitializeComponent();
//360 mode enabled
solidGauge1.Uses360Mode = true;
solidGauge1.From = 0;
solidGauge1.To = 100;
solidGauge1.Value = 50;
//rotated 90° and has an inverted clockwise fill
solidGauge2.Uses360Mode = true;
solidGauge2.From = 0;
solidGauge2.To = 100;
solidGauge2.Value = 50;
solidGauge2.Base.GaugeRenderTransform = new TransformGroup
{
Children = new TransformCollection
{
new RotateTransform(90),
new ScaleTransform {ScaleX = -1}
}
};
solidGauge3.Uses360Mode = true;
solidGauge3.From = 0;
solidGauge3.To = 100;
solidGauge3.Value = 20;
solidGauge3.HighFontSize = 60;
solidGauge3.Base.Foreground = Brushes.White;
solidGauge3.InnerRadius = 0;
solidGauge3.GaugeBackground = new SolidColorBrush(Color.FromRgb(71,128,181));
//the next gauge interpolates from color white, to color black according
//to the current value in the gauge
solidGauge4.Uses360Mode = true;
solidGauge4.From = 0;
solidGauge4.To = 100;
solidGauge4.Value = 50;
solidGauge4.HighFontSize = 60;
solidGauge4.Base.Foreground = new SolidColorBrush(Color.FromRgb(66,66,66));
solidGauge4.FromColor = Colors.White;
solidGauge4.ToColor = Colors.Black;
solidGauge4.InnerRadius = 0;
solidGauge4.Base.Background = Brushes.Transparent;
//standard gauge
solidGauge5.From = 0;
solidGauge5.To = 100;
solidGauge5.Value = 50;
//custom fill
solidGauge6.From = 0;
solidGauge6.To = 100;
solidGauge6.Value = 50;
solidGauge6.Base.LabelsVisibility = Visibility.Hidden;
solidGauge6.Base.GaugeActiveFill = new LinearGradientBrush
{
GradientStops = new GradientStopCollection
{
new GradientStop(Colors.Yellow, 0),
new GradientStop(Colors.Orange, .5),
new GradientStop(Colors.Red, 1)
}
};
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class AngularGugeForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.angularGauge1 = new LiveCharts.WinForms.AngularGauge();
this.SuspendLayout();
//
// angularGauge1
//
this.angularGauge1.Dock = System.Windows.Forms.DockStyle.Fill;
this.angularGauge1.Location = new System.Drawing.Point(0, 0);
this.angularGauge1.Name = "angularGauge1";
this.angularGauge1.Size = new System.Drawing.Size(624, 439);
this.angularGauge1.TabIndex = 0;
this.angularGauge1.Text = "angularGauge1";
//
// AngularGugeForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(624, 439);
this.Controls.Add(this.angularGauge1);
this.Name = "AngularGugeForm";
this.Text = "AngularGugeForm";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.AngularGauge angularGauge1;
}
}
\ No newline at end of file
using System.Windows;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts.Wpf;
using Brushes = System.Windows.Media.Brushes;
namespace Test.UC
{
public partial class AngularGugeForm : Form
{
public AngularGugeForm()
{
InitializeComponent();
angularGauge1.Value = 160;
angularGauge1.FromValue = 50;
angularGauge1.ToValue = 250;
angularGauge1.TicksForeground = Brushes.White;
angularGauge1.Base.Foreground = Brushes.White;
angularGauge1.Base.FontWeight = FontWeights.Bold;
angularGauge1.Base.FontSize = 16;
angularGauge1.SectionsInnerRadius = 0.5;
angularGauge1.Sections.Add(new AngularSection
{
FromValue = 50,
ToValue = 200,
Fill = new SolidColorBrush(Color.FromRgb(247,166,37))
});
angularGauge1.Sections.Add(new AngularSection
{
FromValue = 200,
ToValue = 250,
Fill = new SolidColorBrush(Color.FromRgb(254, 57, 57))
});
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class GeoMapExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.geoMap1 = new LiveCharts.WinForms.GeoMap();
this.SuspendLayout();
//
// geoMap1
//
this.geoMap1.Dock = System.Windows.Forms.DockStyle.Fill;
this.geoMap1.Location = new System.Drawing.Point(0, 0);
this.geoMap1.Name = "geoMap1";
this.geoMap1.Size = new System.Drawing.Size(695, 469);
this.geoMap1.TabIndex = 0;
this.geoMap1.Text = "geoMap1";
//
// GeoMapExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(695, 469);
this.Controls.Add(this.geoMap1);
this.Name = "GeoMapExample";
this.Text = "GeoMapExample";
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.GeoMap geoMap1;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test.UC
{
public partial class GeoMapExample : Form
{
public GeoMapExample()
{
InitializeComponent();
var r = new Random();
var values = new Dictionary<string, double>();
values["MX"] = r.Next(0, 100);
values["CA"] = r.Next(0, 100);
values["US"] = r.Next(0, 100);
values["IN"] = r.Next(0, 100);
values["CN"] = r.Next(0, 100);
values["JP"] = r.Next(0, 100);
values["BR"] = r.Next(0, 100);
values["DE"] = r.Next(0, 100);
values["FR"] = r.Next(0, 100);
values["GB"] = r.Next(0, 100);
var lang = new Dictionary<string, string>();
lang["MX"] = "México"; // change the language if necessary
geoMap1.HeatMap = values;
geoMap1.LanguagePack = lang;
geoMap1.Source = Application.StartupPath + @"\UC\UCTestLiveCharts\Maps\World.xml";
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
此文件的差异太大,无法显示。
namespace Test.UC
{
partial class DoughnutExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.pieChart1 = new LiveCharts.WinForms.PieChart();
this.SuspendLayout();
//
// pieChart1
//
this.pieChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pieChart1.Location = new System.Drawing.Point(0, 0);
this.pieChart1.Name = "pieChart1";
this.pieChart1.Size = new System.Drawing.Size(523, 429);
this.pieChart1.TabIndex = 0;
this.pieChart1.Text = "pieChart1";
//
// DoughnutExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(523, 429);
this.Controls.Add(this.pieChart1);
this.Name = "DoughnutExample";
this.Text = "PieExample";
this.Load += new System.EventHandler(this.DoughnutExample_Load);
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.PieChart pieChart1;
}
}
\ No newline at end of file
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class DoughnutExample : Form
{
public DoughnutExample()
{
InitializeComponent();
pieChart1.InnerRadius = 100;
pieChart1.LegendLocation = LegendLocation.Right;
pieChart1.Series = new SeriesCollection
{
new PieSeries
{
Title = "Chrome",
Values = new ChartValues<double> {8},
PushOut = 15,
DataLabels = true
},
new PieSeries
{
Title = "Mozilla",
Values = new ChartValues<double> {6},
DataLabels = true
},
new PieSeries
{
Title = "Opera",
Values = new ChartValues<double> {10},
DataLabels = true
},
new PieSeries
{
Title = "Explorer",
Values = new ChartValues<double> {4},
DataLabels = true
}
};
}
private void DoughnutExample_Load(object sender, System.EventArgs e)
{
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class PieChartExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.pieChart1 = new LiveCharts.WinForms.PieChart();
this.SuspendLayout();
//
// pieChart1
//
this.pieChart1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pieChart1.Location = new System.Drawing.Point(0, 0);
this.pieChart1.Name = "pieChart1";
this.pieChart1.Size = new System.Drawing.Size(621, 417);
this.pieChart1.TabIndex = 1;
this.pieChart1.Text = "pieChart1";
//
// PieChartExample
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(621, 417);
this.Controls.Add(this.pieChart1);
this.Name = "PieChartExample";
this.Text = "PieChartExample";
this.Load += new System.EventHandler(this.PieChartExample_Load);
this.ResumeLayout(false);
}
#endregion
private LiveCharts.WinForms.PieChart pieChart1;
}
}
\ No newline at end of file
using System;
using System.Windows.Forms;
using LiveCharts;
using LiveCharts.Wpf;
namespace Test.UC
{
public partial class PieChartExample : Form
{
public PieChartExample()
{
InitializeComponent();
Func<ChartPoint, string> labelPoint = chartPoint =>
string.Format("{0} ({1:P})", chartPoint.Y, chartPoint.Participation);
pieChart1.Series = new SeriesCollection
{
new PieSeries
{
Title = "Maria",
Values = new ChartValues<double> {3},
PushOut = 15,
DataLabels = true,
LabelPoint = labelPoint
},
new PieSeries
{
Title = "Charles",
Values = new ChartValues<double> {4},
DataLabels = true,
LabelPoint = labelPoint
},
new PieSeries
{
Title = "Frida",
Values = new ChartValues<double> {6},
DataLabels = true,
LabelPoint = labelPoint
},
new PieSeries
{
Title = "Frederic",
Values = new ChartValues<double> {2},
DataLabels = true,
LabelPoint = labelPoint
}
};
pieChart1.LegendLocation = LegendLocation.Bottom;
}
private void PieChartExample_Load(object sender, EventArgs e)
{
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="LiveCharts" version="0.9.7" targetFramework="net40" />
<package id="LiveCharts.WinForms" version="0.9.7.1" targetFramework="net40" />
<package id="LiveCharts.Wpf" version="0.9.7" targetFramework="net40" />
</packages>
\ No newline at end of file
==================================
<<<<<<<<<<< IMPORTANT >>>>>>>>>>>>
==================================
LiveCharts is now multipatform (at least the design).
So this package contains nothing but the core of the library,
you might also need to install the desired platform.
For example if using wpf you must also install the wpf package.
------------------------------------
> Install-Package LiveCharts.Wpf
------------------------------------
For future updates, you will only need to update LiveCharts.Wpf (or any other platform)
forget about the core, all the platforms packages will have a dependency to core.
------------------------------------
> Update-Package LiveCharts.Wpf
------------------------------------
Happy coding!
\ No newline at end of file
<?xml version="1.0"?>
<doc>
<assembly>
<name>LiveCharts.WinForms</name>
</assembly>
<members>
<member name="T:LiveCharts.WinForms.AngularGauge">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.AngularGauge.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.AngularGauge.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.AngularGauge"/> class.
</summary>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Wedge">
<summary>
Gets or sets the wedge.
</summary>
<value>
The wedge.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.TickStep">
<summary>
Gets or sets the tick step.
</summary>
<value>
The tick step.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.LabelsStep">
<summary>
Gets or sets the labels step.
</summary>
<value>
The labels step.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.FromValue">
<summary>
Gets or sets from value.
</summary>
<value>
From value.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.ToValue">
<summary>
Gets or sets to value.
</summary>
<value>
To value.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Sections">
<summary>
Gets or sets the sections.
</summary>
<value>
The sections.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Value">
<summary>
Gets or sets the value.
</summary>
<value>
The value.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.LabelFormatter">
<summary>
Gets or sets the label formatter.
</summary>
<value>
The label formatter.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.TicksForeground">
<summary>
Gets or sets the ticks foreground.
</summary>
<value>
The ticks foreground.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.SectionsInnerRadius">
<summary>
Gets or sets the sections inner radius.
</summary>
<value>
The sections inner radius.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.NeedleFill">
<summary>
Gets or sets the needle fill.
</summary>
<value>
The needle fill.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.LabelsEffect">
<summary>
Gets or sets the labels effect.
</summary>
<value>
The labels effect.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.TicksStrokeThickness">
<summary>
Gets or sets the ticks stroke thickness.
</summary>
<value>
The ticks stroke thickness.
</value>
</member>
<member name="T:LiveCharts.WinForms.CartesianChart">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.CartesianChart.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.CartesianChart.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.CartesianChart"/> class.
</summary>
</member>
<member name="M:LiveCharts.WinForms.CartesianChart.Update(System.Boolean,System.Boolean)">
<summary>
Updates the specified restart view.
</summary>
<param name="restartView">if set to <c>true</c> [restart view].</param>
<param name="force">if set to <c>true</c> [force].</param>
</member>
<member name="E:LiveCharts.WinForms.CartesianChart.DataClick">
<summary>
Occurs when the users clicks any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.CartesianChart.DataHover">
<summary>
Occurs when the users hovers over any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.CartesianChart.UpdaterTick">
<summary>
Occurs every time the chart updates
</summary>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.AxisY">
<summary>
Gets or sets the axis y.
</summary>
<value>
The axis y.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.AxisX">
<summary>
Gets or sets the axis x.
</summary>
<value>
The axis x.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.DefaultLegend">
<summary>
Gets or sets the default legend.
</summary>
<value>
The default legend.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Zoom">
<summary>
Gets or sets the zoom.
</summary>
<value>
The zoom.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Pan">
<summary>
Gets or sets the pan.
</summary>
<value>
The pan.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.LegendLocation">
<summary>
Gets or sets the legend location.
</summary>
<value>
The legend location.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Series">
<summary>
Gets or sets the series.
</summary>
<value>
The series.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.DataTooltip">
<summary>
Gets or sets the data tooltip.
</summary>
<value>
The data tooltip.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Hoverable">
<summary>
Gets or sets a value indicating whether this <see cref="T:LiveCharts.WinForms.CartesianChart"/> is hoverable.
</summary>
<value>
<c>true</c> if hoverable; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollMode">
<summary>
Gets or sets the scroll mode.
</summary>
<value>
The scroll mode.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollHorizontalFrom">
<summary>
Gets or sets the scroll horizontal from.
</summary>
<value>
The scroll horizontal from.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollHorizontalTo">
<summary>
Gets or sets the scroll horizontal to.
</summary>
<value>
The scroll horizontal to.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollVerticalFrom">
<summary>
Gets or sets the scroll vertical from.
</summary>
<value>
The scroll vertical from.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollVerticalTo">
<summary>
Gets or sets the scroll vertical to.
</summary>
<value>
The scroll vertical to.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollBarFill">
<summary>
Gets or sets the scroll bar fill.
</summary>
<value>
The scroll bar fill.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Background">
<summary>
Gets or sets the background.
</summary>
<value>
The background.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.VisualElements">
<summary>
Gets or sets the visual elements.
</summary>
<value>
The visual elements.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.UpdaterState">
<summary>
Gets or sets the state of the updater.
</summary>
<value>
The state of the updater.
</value>
</member>
<member name="T:LiveCharts.WinForms.SolidGauge">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.SolidGauge.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.SolidGauge.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.SolidGauge"/> class.
</summary>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Uses360Mode">
<summary>
Gets or sets a value indicating whether [uses360 mode].
</summary>
<value>
<c>true</c> if [uses360 mode]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.From">
<summary>
Gets or sets from.
</summary>
<value>
From.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.To">
<summary>
Gets or sets to.
</summary>
<value>
To.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Value">
<summary>
Gets or sets the value.
</summary>
<value>
The value.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.InnerRadius">
<summary>
Gets or sets the inner radius.
</summary>
<value>
The inner radius.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Stroke">
<summary>
Gets or sets the stroke.
</summary>
<value>
The stroke.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.StrokeThickness">
<summary>
Gets or sets the stroke thickness.
</summary>
<value>
The stroke thickness.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.ToColor">
<summary>
Gets or sets to color.
</summary>
<value>
To color.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FromColor">
<summary>
Gets or sets from color.
</summary>
<value>
From color.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.GaugeBackground">
<summary>
Gets or sets the gauge background.
</summary>
<value>
The gauge background.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.LabelFormatter">
<summary>
Gets or sets the label formatter.
</summary>
<value>
The label formatter.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.HighFontSize">
<summary>
Gets or sets the size of the high font.
</summary>
<value>
The size of the high font.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontSize">
<summary>
Gets or sets the size of the font.
</summary>
<value>
The size of the font.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontFamily">
<summary>
Gets or sets the font family.
</summary>
<value>
The font family.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontWeight">
<summary>
Gets or sets the font weight.
</summary>
<value>
The font weight.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontStyle">
<summary>
Gets or sets the font style.
</summary>
<value>
The font style.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontStretch">
<summary>
Gets or sets the font stretch.
</summary>
<value>
The font stretch.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.ForeGround">
<summary>
Gets or sets the fore ground.
</summary>
<value>
The fore ground.
</value>
</member>
<member name="T:LiveCharts.WinForms.GeoMap">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.GeoMap.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.GeoMap.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.GeoMap"/> class.
</summary>
</member>
<member name="E:LiveCharts.WinForms.GeoMap.LandClick">
<summary>
Occurs when [land click].
</summary>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.LanguagePack">
<summary>
Gets or sets the language pack.
</summary>
<value>
The language pack.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.DefaultLandFill">
<summary>
Gets or sets the default land fill.
</summary>
<value>
The default land fill.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.LandStrokeThickness">
<summary>
Gets or sets the land stroke thickness.
</summary>
<value>
The land stroke thickness.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.LandStroke">
<summary>
Gets or sets the land stroke.
</summary>
<value>
The land stroke.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.Hoverable">
<summary>
Gets or sets a value indicating whether this <see cref="T:LiveCharts.WinForms.GeoMap"/> is hoverable.
</summary>
<value>
<c>true</c> if hoverable; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.HeatMap">
<summary>
Gets or sets the heat map.
</summary>
<value>
The heat map.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.GradientStopCollection">
<summary>
Gets or sets the gradient stop collection.
</summary>
<value>
The gradient stop collection.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.Source">
<summary>
Gets or sets the source.
</summary>
<value>
The source.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.EnableZoomingAndPanning">
<summary>
Gets or sets a value indicating whether [enable zooming and panning].
</summary>
<value>
<c>true</c> if [enable zooming and panning]; otherwise, <c>false</c>.
</value>
</member>
<member name="T:LiveCharts.WinForms.PieChart">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.PieChart.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.PieChart.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.PieChart"/> class.
</summary>
</member>
<member name="M:LiveCharts.WinForms.PieChart.Update(System.Boolean,System.Boolean)">
<summary>
Updates the specified restart view.
</summary>
<param name="restartView">if set to <c>true</c> [restart view].</param>
<param name="force">if set to <c>true</c> [force].</param>
</member>
<member name="E:LiveCharts.WinForms.PieChart.DataClick">
<summary>
Occurs when the users clicks any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.PieChart.DataHover">
<summary>
Occurs when the users hovers over any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.PieChart.UpdaterTick">
<summary>
Occurs every time the chart updates
</summary>
</member>
<member name="P:LiveCharts.WinForms.PieChart.AxisY">
<summary>
Gets or sets the axis y.
</summary>
<value>
The axis y.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.AxisX">
<summary>
Gets or sets the axis x.
</summary>
<value>
The axis x.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.DefaultLegend">
<summary>
Gets or sets the default legend.
</summary>
<value>
The default legend.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.Zoom">
<summary>
Gets or sets the zoom.
</summary>
<value>
The zoom.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.LegendLocation">
<summary>
Gets or sets the legend location.
</summary>
<value>
The legend location.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.Series">
<summary>
Gets or sets the series.
</summary>
<value>
The series.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.DataTooltip">
<summary>
Gets or sets the data tooltip.
</summary>
<value>
The data tooltip.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.InnerRadius">
<summary>
Gets or sets the inner radius.
</summary>
<value>
The inner radius.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.StartingRotationAngle">
<summary>
Gets or sets the starting rotation angle.
</summary>
<value>
The starting rotation angle.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.UpdaterState">
<summary>
Gets or sets the state of the updater.
</summary>
<value>
The state of the updater.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.HoverPushOut">
<summary>
Gets or sets the units that a slice is pushed out when a user moves the mouse over data point.
</summary>
<value>
The hover push out.
</value>
</member>
</members>
</doc>
<?xml version="1.0"?>
<doc>
<assembly>
<name>LiveCharts.WinForms</name>
</assembly>
<members>
<member name="T:LiveCharts.WinForms.AngularGauge">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.AngularGauge.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.AngularGauge.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.AngularGauge"/> class.
</summary>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Wedge">
<summary>
Gets or sets the wedge.
</summary>
<value>
The wedge.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.TickStep">
<summary>
Gets or sets the tick step.
</summary>
<value>
The tick step.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.LabelsStep">
<summary>
Gets or sets the labels step.
</summary>
<value>
The labels step.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.FromValue">
<summary>
Gets or sets from value.
</summary>
<value>
From value.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.ToValue">
<summary>
Gets or sets to value.
</summary>
<value>
To value.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Sections">
<summary>
Gets or sets the sections.
</summary>
<value>
The sections.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.Value">
<summary>
Gets or sets the value.
</summary>
<value>
The value.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.LabelFormatter">
<summary>
Gets or sets the label formatter.
</summary>
<value>
The label formatter.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.TicksForeground">
<summary>
Gets or sets the ticks foreground.
</summary>
<value>
The ticks foreground.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.SectionsInnerRadius">
<summary>
Gets or sets the sections inner radius.
</summary>
<value>
The sections inner radius.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.NeedleFill">
<summary>
Gets or sets the needle fill.
</summary>
<value>
The needle fill.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.LabelsEffect">
<summary>
Gets or sets the labels effect.
</summary>
<value>
The labels effect.
</value>
</member>
<member name="P:LiveCharts.WinForms.AngularGauge.TicksStrokeThickness">
<summary>
Gets or sets the ticks stroke thickness.
</summary>
<value>
The ticks stroke thickness.
</value>
</member>
<member name="T:LiveCharts.WinForms.CartesianChart">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.CartesianChart.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.CartesianChart.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.CartesianChart"/> class.
</summary>
</member>
<member name="M:LiveCharts.WinForms.CartesianChart.Update(System.Boolean,System.Boolean)">
<summary>
Updates the specified restart view.
</summary>
<param name="restartView">if set to <c>true</c> [restart view].</param>
<param name="force">if set to <c>true</c> [force].</param>
</member>
<member name="E:LiveCharts.WinForms.CartesianChart.DataClick">
<summary>
Occurs when the users clicks any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.CartesianChart.DataHover">
<summary>
Occurs when the users hovers over any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.CartesianChart.UpdaterTick">
<summary>
Occurs every time the chart updates
</summary>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.AxisY">
<summary>
Gets or sets the axis y.
</summary>
<value>
The axis y.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.AxisX">
<summary>
Gets or sets the axis x.
</summary>
<value>
The axis x.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.DefaultLegend">
<summary>
Gets or sets the default legend.
</summary>
<value>
The default legend.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Zoom">
<summary>
Gets or sets the zoom.
</summary>
<value>
The zoom.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Pan">
<summary>
Gets or sets the pan.
</summary>
<value>
The pan.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.LegendLocation">
<summary>
Gets or sets the legend location.
</summary>
<value>
The legend location.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Series">
<summary>
Gets or sets the series.
</summary>
<value>
The series.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.DataTooltip">
<summary>
Gets or sets the data tooltip.
</summary>
<value>
The data tooltip.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Hoverable">
<summary>
Gets or sets a value indicating whether this <see cref="T:LiveCharts.WinForms.CartesianChart"/> is hoverable.
</summary>
<value>
<c>true</c> if hoverable; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollMode">
<summary>
Gets or sets the scroll mode.
</summary>
<value>
The scroll mode.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollHorizontalFrom">
<summary>
Gets or sets the scroll horizontal from.
</summary>
<value>
The scroll horizontal from.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollHorizontalTo">
<summary>
Gets or sets the scroll horizontal to.
</summary>
<value>
The scroll horizontal to.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollVerticalFrom">
<summary>
Gets or sets the scroll vertical from.
</summary>
<value>
The scroll vertical from.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollVerticalTo">
<summary>
Gets or sets the scroll vertical to.
</summary>
<value>
The scroll vertical to.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.ScrollBarFill">
<summary>
Gets or sets the scroll bar fill.
</summary>
<value>
The scroll bar fill.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.Background">
<summary>
Gets or sets the background.
</summary>
<value>
The background.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.VisualElements">
<summary>
Gets or sets the visual elements.
</summary>
<value>
The visual elements.
</value>
</member>
<member name="P:LiveCharts.WinForms.CartesianChart.UpdaterState">
<summary>
Gets or sets the state of the updater.
</summary>
<value>
The state of the updater.
</value>
</member>
<member name="T:LiveCharts.WinForms.SolidGauge">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.SolidGauge.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.SolidGauge.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.SolidGauge"/> class.
</summary>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Uses360Mode">
<summary>
Gets or sets a value indicating whether [uses360 mode].
</summary>
<value>
<c>true</c> if [uses360 mode]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.From">
<summary>
Gets or sets from.
</summary>
<value>
From.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.To">
<summary>
Gets or sets to.
</summary>
<value>
To.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Value">
<summary>
Gets or sets the value.
</summary>
<value>
The value.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.InnerRadius">
<summary>
Gets or sets the inner radius.
</summary>
<value>
The inner radius.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.Stroke">
<summary>
Gets or sets the stroke.
</summary>
<value>
The stroke.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.StrokeThickness">
<summary>
Gets or sets the stroke thickness.
</summary>
<value>
The stroke thickness.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.ToColor">
<summary>
Gets or sets to color.
</summary>
<value>
To color.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FromColor">
<summary>
Gets or sets from color.
</summary>
<value>
From color.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.GaugeBackground">
<summary>
Gets or sets the gauge background.
</summary>
<value>
The gauge background.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.LabelFormatter">
<summary>
Gets or sets the label formatter.
</summary>
<value>
The label formatter.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.HighFontSize">
<summary>
Gets or sets the size of the high font.
</summary>
<value>
The size of the high font.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontSize">
<summary>
Gets or sets the size of the font.
</summary>
<value>
The size of the font.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontFamily">
<summary>
Gets or sets the font family.
</summary>
<value>
The font family.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontWeight">
<summary>
Gets or sets the font weight.
</summary>
<value>
The font weight.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontStyle">
<summary>
Gets or sets the font style.
</summary>
<value>
The font style.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.FontStretch">
<summary>
Gets or sets the font stretch.
</summary>
<value>
The font stretch.
</value>
</member>
<member name="P:LiveCharts.WinForms.SolidGauge.ForeGround">
<summary>
Gets or sets the fore ground.
</summary>
<value>
The fore ground.
</value>
</member>
<member name="T:LiveCharts.WinForms.GeoMap">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.GeoMap.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.GeoMap.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.GeoMap"/> class.
</summary>
</member>
<member name="E:LiveCharts.WinForms.GeoMap.LandClick">
<summary>
Occurs when [land click].
</summary>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.Base">
<summary>
Gets the base.
</summary>
<value>
The base.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.LanguagePack">
<summary>
Gets or sets the language pack.
</summary>
<value>
The language pack.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.DefaultLandFill">
<summary>
Gets or sets the default land fill.
</summary>
<value>
The default land fill.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.LandStrokeThickness">
<summary>
Gets or sets the land stroke thickness.
</summary>
<value>
The land stroke thickness.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.LandStroke">
<summary>
Gets or sets the land stroke.
</summary>
<value>
The land stroke.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.Hoverable">
<summary>
Gets or sets a value indicating whether this <see cref="T:LiveCharts.WinForms.GeoMap"/> is hoverable.
</summary>
<value>
<c>true</c> if hoverable; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.HeatMap">
<summary>
Gets or sets the heat map.
</summary>
<value>
The heat map.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.GradientStopCollection">
<summary>
Gets or sets the gradient stop collection.
</summary>
<value>
The gradient stop collection.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.Source">
<summary>
Gets or sets the source.
</summary>
<value>
The source.
</value>
</member>
<member name="P:LiveCharts.WinForms.GeoMap.EnableZoomingAndPanning">
<summary>
Gets or sets a value indicating whether [enable zooming and panning].
</summary>
<value>
<c>true</c> if [enable zooming and panning]; otherwise, <c>false</c>.
</value>
</member>
<member name="T:LiveCharts.WinForms.PieChart">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.PieChart.WpfBase">
<summary>
The WPF base
</summary>
</member>
<member name="M:LiveCharts.WinForms.PieChart.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.WinForms.PieChart"/> class.
</summary>
</member>
<member name="M:LiveCharts.WinForms.PieChart.Update(System.Boolean,System.Boolean)">
<summary>
Updates the specified restart view.
</summary>
<param name="restartView">if set to <c>true</c> [restart view].</param>
<param name="force">if set to <c>true</c> [force].</param>
</member>
<member name="E:LiveCharts.WinForms.PieChart.DataClick">
<summary>
Occurs when the users clicks any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.PieChart.DataHover">
<summary>
Occurs when the users hovers over any point in the chart
</summary>
</member>
<member name="E:LiveCharts.WinForms.PieChart.UpdaterTick">
<summary>
Occurs every time the chart updates
</summary>
</member>
<member name="P:LiveCharts.WinForms.PieChart.AxisY">
<summary>
Gets or sets the axis y.
</summary>
<value>
The axis y.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.AxisX">
<summary>
Gets or sets the axis x.
</summary>
<value>
The axis x.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.DefaultLegend">
<summary>
Gets or sets the default legend.
</summary>
<value>
The default legend.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.Zoom">
<summary>
Gets or sets the zoom.
</summary>
<value>
The zoom.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.LegendLocation">
<summary>
Gets or sets the legend location.
</summary>
<value>
The legend location.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.Series">
<summary>
Gets or sets the series.
</summary>
<value>
The series.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.AnimationsSpeed">
<summary>
Gets or sets the animations speed.
</summary>
<value>
The animations speed.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.DisableAnimations">
<summary>
Gets or sets a value indicating whether [disable animations].
</summary>
<value>
<c>true</c> if [disable animations]; otherwise, <c>false</c>.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.DataTooltip">
<summary>
Gets or sets the data tooltip.
</summary>
<value>
The data tooltip.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.InnerRadius">
<summary>
Gets or sets the inner radius.
</summary>
<value>
The inner radius.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.StartingRotationAngle">
<summary>
Gets or sets the starting rotation angle.
</summary>
<value>
The starting rotation angle.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.UpdaterState">
<summary>
Gets or sets the state of the updater.
</summary>
<value>
The state of the updater.
</value>
</member>
<member name="P:LiveCharts.WinForms.PieChart.HoverPushOut">
<summary>
Gets or sets the units that a slice is pushed out when a user moves the mouse over data point.
</summary>
<value>
The hover push out.
</value>
</member>
</members>
</doc>
param($installPath, $toolsPath, $package, $project)
$DTE.ItemOperations.Navigate("https://lvcharts.net/thanks/wpf")
\ No newline at end of file
param($installPath, $toolsPath, $package, $project)
$DTE.ItemOperations.Navigate("https://lvcharts.net/thanks/wpf")
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<repositories>
<repository path="..\Test\packages.config" />
</repositories>
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!