- [C#] Di chuyển và thay đổi kích thước Control Winform khi ứng dụng đang chạy
- [VB.NET] Chia sẻ source tạo sắp xếp đội hình bóng đá Line-ups đội bóng
- [C#] Hướng dẫn chỉnh sửa Text của label trực tiếp trên winform
- [C#] Hướng dẫn custom TextBox giống Ultraviewer trên Winform
- [C#] Show Modal Winform like Bootstrap
- [DATABASE] Thứ tự thực hiện mệnh đề truy vấn SELECT trong Sqlserver
- [C#] Hướng dẫn viết addin Excel Lấy hình ảnh từ URL internet vào Excel
- [DATABASE] TSQL view max length all column data trên table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng MailMerge kèm Hình ảnh trên Winform
- [DATABASE] Hướng dẫn truy vấn xem kích thước lưu trữ của từng bảng ghi Table trên sqlserver
- [C#] Hướng dẫn Fake Date Time sử dụng thư viện Harmony
- [DATABASE] Phân biệt câu lệnh DDL và DML trong sqlserver
- [C#] Hướng dẫn convert file mã HTML sang file Pdf trên winform
- [DEVEXPRESS] Tạo các loại mã vạch Barcode trực tiếp trên Devexpress Barcode API
- [DEVEXPRESS] Hướng dẫn custom Simple button thành Progressbar
- [DATABASE] Tách số và chữ từ chuỗi - hàm tối ưu hóa tách số và chữ trong Sqlserver
- [C#] Tìm kiếm gần đúng Full Text Search sử dụng thư viện Lucene.NET
- [C#] Chia sẻ tài liệu, sdk và source code máy chấm công dòng máy ZKTeco
- [C#] Memory Cache là gì, và sử dụng trong ứng dụng Winform
- [DATABASE] Khóa chính Primary Key trong Sqlserver
[DEVEXPRESS] AudioGram là gì? Hướng dẫn vẽ biểu đồ Line AudioGram
Audiogram chart là gì? Biểu đồ AudioGram hay còn được gọi là biểu đồ thính lực học. Hôm nay, mình sẽ hướng dẫn các bạn vẽ biểu đồ Line trong Devexpress bằng ngôn ngữ lập trình VB.NET
Audiogram chart là gì? Hướng dẫn vẽ biểu đồ Line (AudioGram) VB.NET (Nhận viết phần mềm đa khoa, phòng mạch)
Thính lực đồ là biểu đồ minh họa thính lực khả dụng của một người và mức độ nghe kém ở mỗi bên tai của người đó. Dọc theo phần trên của biểu đồ, có các con số từ 125 đến 8000 Các con số này chỉ tần số, hay cao độ của âm thanh.
Thường nếu các bạn nào có viết dụng cho phòng khám đa khoa, khi đến phần khám tai, các bạn sẽ cần đến biểu đồ audiogram.
Dưới đây là giao diện demo ứng dụng vẽ biểu đồ line:
Source code VB.NET
Imports System
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
' ...
Namespace ConstLines
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
' Create an empty chart.
'Dim chartControl1 As New ChartControl()
' Create a bar series and add points to it.
Dim series1 As New Series("L-AC", ViewType.Line)
series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True
series1.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False
series1.Label.LineVisibility = DevExpress.Utils.DefaultBoolean.False
series1.Label.BackColor = Color.Transparent
series1.Points.Add(New SeriesPoint(250, New Double() {60}))
series1.Points.Add(New SeriesPoint(500, New Double() {70}))
series1.Points.Add(New SeriesPoint(1000, New Double() {75}))
series1.Points.Add(New SeriesPoint(2000, New Double() {75}))
series1.Points.Add(New SeriesPoint(4000, New Double() {80}))
series1.Points.Add(New SeriesPoint(8000, New Double() {85}))
Dim series2 As New Series("L-BC", ViewType.Line)
series2.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True
series2.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False
series2.Label.LineVisibility = DevExpress.Utils.DefaultBoolean.False
series2.Points.Add(New SeriesPoint(250, New Double() {25}))
series2.Points.Add(New SeriesPoint(500, New Double() {25}))
series2.Points.Add(New SeriesPoint(1000, New Double() {55}))
series2.Points.Add(New SeriesPoint(2000, New Double() {25}))
series2.Points.Add(New SeriesPoint(4000, New Double() {30}))
'series2.Points.Add(New SeriesPoint("8000", New Double() {0}))
series2.Label.BackColor = Color.Transparent
Dim series3 As New Series("L-AC masking", ViewType.Line)
series3.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True
series3.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False
series3.Label.LineVisibility = DevExpress.Utils.DefaultBoolean.False
series3.Label.BackColor = Color.Transparent
series3.Points.Add(New SeriesPoint(250, New Double() {100}))
series3.Points.Add(New SeriesPoint(500, New Double() {115}))
series3.Points.Add(New SeriesPoint(1000, New Double() {120}))
series3.Points.Add(New SeriesPoint(2000, New Double() {105}))
series3.Points.Add(New SeriesPoint(4000, New Double() {120}))
series3.Points.Add(New SeriesPoint(8000, New Double() {100}))
Dim series4 As New Series("L-BC masking", ViewType.Line)
series4.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True
series4.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False
series4.Label.LineVisibility = DevExpress.Utils.DefaultBoolean.False
series4.Label.BackColor = Color.Transparent
series4.Points.Add(New SeriesPoint(250, New Double() {40}))
series4.Points.Add(New SeriesPoint(500, New Double() {30}))
series4.Points.Add(New SeriesPoint(1000, New Double() {55}))
series4.Points.Add(New SeriesPoint(2000, New Double() {55}))
series4.Points.Add(New SeriesPoint(4000, New Double() {80}))
'series4.Points.Add(New SeriesPoint("8000", New Double() {0}))
' Add the series to the chart.
ChartControl1.Series.Add(series1)
ChartControl1.Series.Add(series2)
ChartControl1.Series.Add(series3)
ChartControl1.Series.Add(series4)
series1.ArgumentScaleType = ScaleType.Qualitative
series2.ArgumentScaleType = ScaleType.Qualitative
series3.ArgumentScaleType = ScaleType.Qualitative
series4.ArgumentScaleType = ScaleType.Qualitative
' Access the view-type-specific options of the series.
CType(series1.View, LineSeriesView).LineMarkerOptions.Kind = MarkerKind.Triangle
CType(series1.View, LineSeriesView).MarkerVisibility = DevExpress.Utils.DefaultBoolean.True
CType(series2.View, LineSeriesView).LineMarkerOptions.Kind = MarkerKind.Pentagon
CType(series2.View, LineSeriesView).MarkerVisibility = DevExpress.Utils.DefaultBoolean.True
CType(series2.View, LineSeriesView).LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.DashDot
CType(series3.View, LineSeriesView).LineMarkerOptions.Kind = MarkerKind.Square
CType(series3.View, LineSeriesView).MarkerVisibility = DevExpress.Utils.DefaultBoolean.True
CType(series4.View, LineSeriesView).LineMarkerOptions.Kind = MarkerKind.Circle
CType(series4.View, LineSeriesView).MarkerVisibility = DevExpress.Utils.DefaultBoolean.True
CType(series4.View, LineSeriesView).LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.DashDot
'CType(series1.View, LineSeriesView).LineStyle.DashStyle = DashStyle.Dash
Dim diagram As XYDiagram = TryCast(ChartControl1.Diagram, XYDiagram)
diagram.EnableAxisXScrolling = True
diagram.EnableAxisYScrolling = True
'diagram.AxisX.VisualRange.SetMinMaxValues("250", "8000")
diagram.AxisX.Title.Text = "Tần số Hz"
diagram.AxisX.Title.Font = New Font("Tahoma", 12, FontStyle.Bold, GraphicsUnit.Pixel)
diagram.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.True
diagram.AxisX.Tickmarks.MinorVisible = False
diagram.AxisX.VisualRange.Auto = False
diagram.AxisX.WholeRange.Auto = False
diagram.AxisY.Title.Text = "Cường độ dB"
diagram.AxisY.Reverse = True
diagram.AxisY.Tickmarks.MinorVisible = False
diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True
diagram.AxisY.Title.Font = New Font("Tahoma", 12, FontStyle.Bold, GraphicsUnit.Pixel)
'diagram.AxisX.GridLines.Color = Color.Red
diagram.AxisX.GridLines.Visible = True
' Add the chart to the form.
ChartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True
ChartControl1.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Center
ChartControl1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.BottomOutside
ChartControl1.Legend.Direction = DevExpress.XtraCharts.LegendDirection.LeftToRight
ChartControl1.Titles.Add(New ChartTitle())
ChartControl1.Titles(0).Text = "THÍNH LỰC ĐỒ - AUDIO DIAGRAM"
ChartControl1.Titles(0).Font = New Font("Tahoma", 16, FontStyle.Bold, GraphicsUnit.Pixel)
ChartControl1.Dock = DockStyle.Fill
Me.Controls.Add(ChartControl1)
End Sub
Private Sub ChartControl1_CustomDrawSeries(sender As Object, e As CustomDrawSeriesEventArgs) Handles ChartControl1.CustomDrawSeries
Dim image As New Bitmap(e.LegendMarkerSize.Width, e.LegendMarkerSize.Height)
Using graphics As Graphics = Graphics.FromImage(image)
graphics.FillRegion(New SolidBrush(e.SeriesDrawOptions.Color), New Region(image.GetBounds(Drawing.GraphicsUnit.Pixel)))
End Using
e.LegendMarkerImage = image
End Sub
End Class
End Namespace
HAVE FUN :)