powershell - Powershell:在条形图上放置第二个 X 轴
问题描述
下图使用 powershell 和 csv 文件。我还想将“时间”添加为顶部的次要 X 轴,但我不知道如何将其添加到系列中。
我怀疑它与 的线$chart1.Series["Elapse"].Points.DataBindXY($date, $totalMinutes)
$chart1.Series["Elapse"].Points.DataBindXY($date, $totalMinutes)
,但是 DataBind XY 是如何用两个 X 轴确定的?
Date,Time,Attempts,TotalMinutes
06/08/2020,20:48,6,6.08613289666667
06/08/2020,21:20,9,9.10416342666667
06/09/2020,07:25,2,2.06852810833333
电源外壳:
#CONSTANTS
$directory = "C:\Users\gamble.pw\Desktop\powershell"
$csvFile = "logfile.csv"
#chart object
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
$chart1 = New-object System.Windows.Forms.DataVisualization.Charting.Chart
$chart1.Width = 2000
$chart1.Height = 1000
$chart1.BackColor = [System.Drawing.Color]::White
#title
[void]$chart1.Titles.Add("Login Time")
$chart1.Titles[0].Font = "segoeuilight,20pt"
$chart1.Titles[0].Alignment = "topLeft"
#chart area
$chartarea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
$chartarea.Name = "ChartArea1"
$chartarea.AxisY.Title = "Elapse Time in Minutes"
$chartarea.AxisX.Title = "Date"
$chartarea.AxisX2.Title = "Time"
$chartarea.AxisY.Interval = 1
$chartarea.AxisX.Interval = 1
$chart1.ChartAreas.Add($chartarea)
#data source
$datasource = Import-Csv "$directory\$csvFile"
$date = $datasource.Date
$time = $datasource.Time
$totalMinutes = $datasource.TotalMinutes
Write-Host $date
Write-Host $time
Write-Host $attempts
Write-Host $totalMinutes
#data series
[void]$chart1.Series.Add("Elapse")
#$chart1.Series["Elapse"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Line
$chart1.Series["Elapse"].BorderWidth = 2
$chart1.Series["Elapse"].Points.DataBindXY($date, $totalMinutes)
$chart1.SaveImage("$directory\Bar_Chart_Login.png","png")
解决方案
每个轴应该有不同的系列。您必须在系列中定义要使用的轴。一旦您知道您希望 Series 使用哪个轴,您就可以将其设置为AxistType
.
$chart1.Series["Elapse"].YAxisType = AxisType.Secondary;
$chart1.Series["Elapse"].XAxisType = AxisType.Secondary;
一旦你设置了 AxisType,当你对 Series 进行数据绑定时,它就会知道在哪个轴上显示它。
推荐阅读
- javascript - node.js 我需要能够创建一个全新的 JSON 文件
- css - 如何将图像与简单文本并排放置在中心?
- python - scipy.optimize.curve_fit,不支持的操作数类型
- sql - 根据 pyspark 数据框中其他列的值计数聚合一列
- docker - 谷歌云 docker 镜像文件被删除
- r - 基于存储在变量中的“名称”以编程方式调用 Object
- javascript - React 路由的问题
- flutter - 如何在 TextFormField 中验证电子邮件
- html - 如何在使用 clear:both 的图像下添加行间距
- reactjs - What is the best approach for calling third-party react hooks conditionally?