有没有最好的方法将整数转换为.net中的月份名称?
显然,我可以启动一个日期时间来串起它并解析月份名称.这似乎是浪费时间的巨大浪费.
目前我正在尝试使用窗体显示图表,该窗体显示X轴上的月度数据和Y轴上的整数值; 但是,我没有为X轴正确设置范围,其中MonthYear是DateTime:
var pnChart = new System.Windows.Forms.Panel();
pnChart.Controls.Clear();
DataTable dtChartData = myDatabaseLayer.BuildDataTable("SELECT Added, Modified FROM tblStatistics WHERE ApplicationID = " + intApplicationID + " ORDER BY MonthYear");
Chart chart = GenerateChart(dtChartData, pnChart.Width, pnChart.Height, "ActiveBorder", 6);
chart.Series[0].XValueType = ChartValueType.DateTime;
chart.ChartAreas[0].AxisX.LabelStyle.Format = "yyyy-MM-dd";
chart.ChartAreas[0].AxisX.Interval = 1;
chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Months;
chart.ChartAreas[0].AxisX.IntervalOffset = 1;
pnChart.Controls.Add(chart);
Run Code Online (Sandbox Code Playgroud)
问题是,当显示图表时,X轴的日期时间为"1900-01-01",所以我的问题是,如何设置日期范围从2013-01-01开始?
请注意我已经搜索了互联网并尝试了以下设置,但他们没有给我正确的范围:
chart.ChartAreas[0].AxisX.Maximum = DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)
要么,
chart.ChartAreas[0].AxisX.Crossing = DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)
要么,
chart.ChartAreas[0].AxisX.Minimum = DateTime.Now.Ticks;
Run Code Online (Sandbox Code Playgroud)
TIA.
更新: 请注意我发现如何正确设置范围:
chart.Series[0].XValueType = ChartValueType.DateTime;
DateTime minDate = new DateTime(2013, 01, 01);
DateTime maxDate = …Run Code Online (Sandbox Code Playgroud) 我在C#Visual Studio 2010中制作了一些图表,我有一个关于格式化X轴上标签的快速(希望很简单)的问题.我搜索了SO和Google的答案,我很确定它只是简单地为图表区域编辑LabelStyle.Format ...但我无法理解它!好的,太多的信息,让我继续这个问题
简而言之,我的图表需要在x轴上有里程数,范围从0到240,000.我真的想把它修饰一下并且有一个'K'而不是尾随的3个零.示例:60K,120k,180K,240K.
我有这些XY值:
Series S1 = new Series()
S1.Points.AddXY(9, 25);
S1.Points.AddXY(10, 35);
S1.Points.AddXY(11, 15);
chart1.Series.Add(S1);
Run Code Online (Sandbox Code Playgroud)
但我需要在图中显示X值,如下所示:
X = "9-10"
X = "10-11"
X = "11-12"
我怎样才能做到这一点?
到目前为止,这是我发现的:

这是代码:
private void Form1_Shown(object sender, EventArgs e)
{
chart1.ChartAreas[0].AxisX.Minimum = 7;
chart1.ChartAreas[0].AxisX.Maximum = 15;
Series S1 = new Series();
S1.Points.AddXY(9, 25);
S1.Points.AddXY(10, 35);
S1.Points.AddXY(11, 15);
chart1.Series.Add(S1);
chart1.Series[0].Points[0].AxisLabel = "9-10";
chart1.Series[0].Points[1].AxisLabel = "10-11";
chart1.Series[0].Points[2].AxisLabel = "11-12";
Run Code Online (Sandbox Code Playgroud)
你可以看到我使用数字,并为X轴标签设置文本,但我只能为DataPoints值做这些,我需要它用于整个值范围.
有什么想法吗?