- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
[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 :)