C# 具有非线性axisx缩放的图表
我需要你的帮助。 我有一个图形的问题,我需要创建一个X轴不是线性的图形。 我已经尝试了每一个选项,但我不能,因为我得到了相反的结果 我附上以下图片说明我需要什么 这张图片是来自互联网的一个例子,但它准确地描述了我需要的X轴 如果有人能帮助我,我将非常感激 第二张图片显示了我所拥有的: 图的函数是相同的函数,但结果不同,如您所见 参数为:C# 具有非线性axisx缩放的图表,c#,charts,axis,scaling,logarithm,C#,Charts,Axis,Scaling,Logarithm,我需要你的帮助。 我有一个图形的问题,我需要创建一个X轴不是线性的图形。 我已经尝试了每一个选项,但我不能,因为我得到了相反的结果 我附上以下图片说明我需要什么 这张图片是来自互联网的一个例子,但它准确地描述了我需要的X轴 如果有人能帮助我,我将非常感激 第二张图片显示了我所拥有的: 图的函数是相同的函数,但结果不同,如您所见 参数为: pstati=105 psheari=90 currentflow=447 这是一个密码 private void PlotChart() { ch
pstati=105
psheari=90
currentflow=447
这是一个密码
private void PlotChart()
{
chart.Series[0].Points.Clear();
int currentflow = 0, pstati = 0, psheari = 0;
double ans = 0, hr, hf;
currentflow = int.Parse(tbAnsFlow.Text);
psheari = int.Parse(tbPSheari.Text);
pstati = int.Parse(tbPStatic.Text);
for (int i = 0; i <= pstati; i++)
{
hr = (pstati - i);
hf = (pstati - psheari);
ans = hr / hf;
ans = (Math.Pow(ans, 0.54)) * currentflow;
chart.Series[0].Points.AddXY(ans, i);
if (i == int.Parse(tbPSheariToCalc.Text))
{
chart.Series[0].Points[i].MarkerStyle = MarkerStyle.Circle;
chart.Series[0].Points[i].MarkerSize = 8;
chart.Series[0].Points[i].MarkerColor = Color.Black;
chart.Series[0].Points[i].LabelAngle = 0;
chart.Series[0].Points[i].Label = Math.Round(ans).ToString();
chart.Series[0].Points[i].LabelBorderColor = Color.Black;
chart.Series[0].Points[i].LabelBackColor = Color.WhiteSmoke;
tbAnsFlowCalc.Text = Math.Round(ans).ToString();
}
}
}
private void PlotChart()
{
chart.Series[0]。Points.Clear();
int currentflow=0,pstati=0,psheari=0;
双ans=0,hr,hf;
currentflow=int.Parse(tbAnsFlow.Text);
psheari=int.Parse(tbPSheari.Text);
pstati=int.Parse(tbPStatic.Text);
对于(int i=0;i设置AxisX.IsLogarithmic
是正确的方法。它将执行您向我们展示的操作,当然不是相反的操作。我确信这是答案,但它不会给出相同的结果图…可能还有另一个定义我遗漏了?我得到了0.1,1,10100…的跳跃,除了problem是一个函数图,它有很强的值,我直接转到图,现在它没有发生。间隔取决于细节设置。如果你想完全控制间隔并创建不规则间隔的标签,你需要为此编码。首先,感谢你的帮助,我的图的问题不是标签,问题是,对数比例增加了边距,所以第一个时刻的间距是0.9,第二个在我看到的图中已经是9,所以如果边距相等,那么第一个间隔将是最大的,最好的,下一个间隔将在值或类似方面更小,因为他的图片排列相等值,但第一个和第二个边距之间的过渡更大。我希望我足够清楚,很难定义差异。好的,函数是什么?你设置了正确的轴吗。对数基数?如果你的函数有不同的幂,你需要将它从10改为正确的幂!它仍然不会将直线变为曲线,尽管如此。请务必显示函数!设置AxisX.IsLogarithmic
是正确的方法。它将执行您向我们显示的操作,当然不是相反的操作。我确信这是答案,但它不会给出相同的结果图…可能还有另一个我缺少的定义?我会在一段时间内定期跳转0.1,1,10100问题的另一个方面是函数图具有很强的值,我直接转到了该图,但现在它没有出现。间隔取决于详细设置。如果要完全控制间隔并以不规则间隔创建标签,则需要为此编写代码。首先,请参阅感谢帮助,图mi的问题ne不是标签,问题在于逻辑比例增加了边距,因此第一个时刻的间距是0.9,第二个已经是9,在我看到的图中,边距在下降,因此如果边距相等,那么第一个间距将是最大的,第二个间距将在值或类似方面更小,如他的图片sp读取值相等,但第一个和第二个边距之间的转换更大。我希望我足够清楚,很难定义差异。好的,函数是什么?你设置了正确的轴吗。对数基数?如果你的函数有不同的幂,你需要将它从10改为正确的幂!它仍然不会改变一个straig但是,要将线转换成曲线。所以一定要显示函数!