PlotRange neden ListLinePlot ile orantılı çalışmıyor?
Aug 29 2020
Bu koda sahibim ve PlotRange(M.12.0.0.0) kullandığımda bana hata veriyor
colorBar[arg_] := Blend[{Red, Green, Blue}, Rescale[arg, {-1, 1}]];
postE = Table[{x, 0.05 + Cos[x]^2, Cos[x]}, {x, 0, 30, 0.05}];
ListLinePlot[postE[[All, 1 ;; 2]], PlotRange -> {-1, 1},
ColorFunction ->
Function[{x, y},
colorBar[postE[[Position[postE[[All, 1]], x][[1, 1]], 3]]]],
ColorFunctionScaling -> False];
Part::partw: Part 1 of {} does not exist.
Part::pkspec1: The expression {}[[1,1]] cannot be used as a part specification.
Part::pkspec1: The expression {}[[1,1]] cannot be used as a part specification.
Part::pkspec1: The expression {}[[1,1]] cannot be used as a part specification.
General::stop: Further output of Part::pkspec1 will be suppressed during this calculation.
Her ne kadar sonucu doğru bir şekilde alsam da bu hata neden görünüyor? Kaldırırsam PlotRangeiyi çalışıyor !!
Yanıtlar
3 BobHanlon Aug 29 2020 at 06:04
Çizgiyi çizerken, xiçindeki x değerlerinden hiçbirine eşit olmayan değerler vardır postE. Sonuç olarak, kullanmak Nearest[postE[[All, 1]], x][[1]]yerine xiçindeColorFunction
Clear["Global`*"]
colorBar[arg_] := Blend[{Red, Green, Blue}, Rescale[arg, {-1, 1}]];
postE = Table[{x, 0.05 + Cos[x]^2, Cos[x]}, {x, 0, 30, 0.05}];
ListLinePlot[Most /@ postE,
PlotRange -> {-1, 1},
ColorFunction :>
Function[{x, y},
colorBar[postE[[Position[postE[[All, 1]],
Nearest[postE[[All, 1]], x][[1]]][[1, 1]], 3]]]],
ColorFunctionScaling -> False]
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'