public void graben_model()
{
var mymodel = new PlotModel { Title = "地垒模型" };
//mymodel.Series.Add(new FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)"));
mymodel.Axes.Add(new LinearColorAxis
{
Palette = OxyPalettes.Rainbow(100)
});
int X = Convert.ToInt32(textBoxX.Text);//长
int Z = Convert.ToInt32(textBoxZ.Text);//高
var matrix_L = new DenseMatrix(Z, X);
var matrix_M = new DenseMatrix(Z, X);
var matrix_p = new DenseMatrix(Z, X);
var matrix_vp = new DenseMatrix(Z, X);
var matrix_vs = new DenseMatrix(Z, X);
for (int j = 0; j < X; j++)
{
for (int i = 0; i < Z; i++)
{
if (i<90)
{
matrix_vp[i, j] = 2000;
matrix_vs[i, j] = 1200;
matrix_p[i, j] = 2000;
}
else if(i<120&&j>i-60&&j<260-i)
{
matrix_vp[i, j] = 2000;
matrix_vs[i, j] = 1200;
matrix_p[i, j] = 2000;
}
else
{
matrix_vp[i, j] = 3000;
matrix_vs[i, j] = 2000;
matrix_p[i, j] = 2500;
}
matrix_L[i, j] = Math.Pow(matrix_vs[i, j].Real, 2) * matrix_p[i, j];
matrix_M[i, j] = (Math.Pow(matrix_vp[i, j].Real, 2) - 2 * Math.Pow(matrix_vs[i, j].Real, 2)) * matrix_p[i, j];
}
}
var matrix_data = matrix_L.Transpose();
var data = new double[X, Z];
for (int j = 0; j < Z; j++)
{
for (int i = 0; i < X; i++)
{
data[i, j] = matrix_data[i, j].Real;
}
}
var heatmapseries = new HeatMapSeries
{
X0 = 0,
X1 = X,
Y0 = 0,
Y1 = Z,
Interpolate = true,
RenderMethod = HeatMapRenderMethod.Bitmap,
Data = data
};
mymodel.Series.Add(heatmapseries);
this.plotView1.Model = mymodel;
}
这是成图的代码,有能给的建议吗?